Mon Sep 1 06:25:53 UTC 2025 I: starting to build xarray-sentinel/forky/amd64 on jenkins on '2025-09-01 06:25' Mon Sep 1 06:25:53 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_27/69546/console.log Mon Sep 1 06:25:53 UTC 2025 I: Downloading source for forky/xarray-sentinel=0.9.5+ds-4 --2025-09-01 06:25:54-- http://deb.debian.org/debian/pool/main/x/xarray-sentinel/xarray-sentinel_0.9.5%2bds-4.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2551 (2.5K) [text/prs.lines.tag] Saving to: ‘xarray-sentinel_0.9.5+ds-4.dsc’ 0K .. 100% 296M=0s 2025-09-01 06:25:54 (296 MB/s) - ‘xarray-sentinel_0.9.5+ds-4.dsc’ saved [2551/2551] Mon Sep 1 06:25:54 UTC 2025 I: xarray-sentinel_0.9.5+ds-4.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: xarray-sentinel Binary: python3-xarray-sentinel Architecture: all Version: 0.9.5+ds-4 Maintainer: Debian GIS Project Uploaders: Antonio Valentino Homepage: https://github.com/bopen/xarray-sentinel Standards-Version: 4.7.2 Vcs-Browser: https://salsa.debian.org/debian-gis-team/xarray-sentinel Vcs-Git: https://salsa.debian.org/debian-gis-team/xarray-sentinel.git Testsuite: autopkgtest-pkg-pybuild Build-Depends: debhelper-compat (= 13), dh-python, dh-sequence-numpy3, dh-sequence-python3, pybuild-plugin-pyproject, python3-all, python3-dask, python3-fsspec (>= 2021.4.0), python3-netcdf4 , python3-numpy, python3-pandas, python3-pytest , python3-rasterio (>= 1.3.0), python3-rioxarray, python3-setuptools, python3-setuptools-scm, python3-shapely , python3-xarray (>= 0.18.0), python3-xmlschema (>= 1.9.0), python3-zarr Package-List: python3-xarray-sentinel deb python optional arch=all Checksums-Sha1: b81a5df9852c88598eb2c991767f1f9da0576b06 2260040 xarray-sentinel_0.9.5+ds.orig.tar.xz b2610f1ce3a25623cca14f47def4abf29687e3cb 5260 xarray-sentinel_0.9.5+ds-4.debian.tar.xz Checksums-Sha256: a11db78d11b3460a91f98a4ade80de3b18147447297c6e7321126f2090d1eea9 2260040 xarray-sentinel_0.9.5+ds.orig.tar.xz 8b798a80f3ed1275bc9895c0458801ba54ab1a7e7d3111bbbfe3969c664ca0f9 5260 xarray-sentinel_0.9.5+ds-4.debian.tar.xz Files: 8585165e523735d72f00adda79757bbd 2260040 xarray-sentinel_0.9.5+ds.orig.tar.xz fd9e6591bdcebdde930fb07b3d3fe59b 5260 xarray-sentinel_0.9.5+ds-4.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQJRBAEBCgA7FiEEO3DyCaX/1okDxHLF6/SKslePmBIFAmfynLcdHGFudG9uaW8u dmFsZW50aW5vQHRpc2NhbGkuaXQACgkQ6/SKslePmBIzQBAAmK6NKD9AbWIFGylG jP4o/UJt5pMYD5VbnzP2/ovzN5DSWkOhL0Q7XzEQUZHtj5xoUp8WWhs5fAF73o7t QyDuA4t5jKpEe+WLWdcMYhlXLk1akBhc/Duz28e7OxKx4jbdmMEEYYYOm3Zl//a9 mc2a0nfEUrNPgTwJnk2dCnRJWzsV8JIeqiErFcqH7F8Wn6ySso+Er4RgNpDphrAe Tl1vYLwkUn4ECeAFAWnRBN8ibE+Gm0QHXaXlfIIr6giBQuELW+h+vxWejsfcRmto 33lkY+jz+Gfxx9VqrbY/8xNOlY2SN1gxkn3ZHKNyethJQHSF0Dimk+Y3nk3hkswU TNpAP5Vuhx+QSQNRLLVg7iGnYuWavT60rF54txVdB3WKduYDAHzHkBFVUifCQxcd msTFxROBwWi9kmVCZ/3ZsfASKQWh9XjV3AgIMYv2EYnoaggCLa35PkOBooYbGOZS 1GjY7c6Xqmdv7LuB6icTBGsn4ScZU4uC1/UGly3mwbx72shfUggbr4RA8/FCwuiH hm4+q9X8bXJJiQJULLC0GUVJbQ65bG10tQDhSVc1FTBZH9paIDbYJ1DcLLPeCe0g JzT15j7LYA0/sFARMA/cbDy6UxCOQqd50eMxSR9uzqt9VluNcGNYhEXLRDowcw2a RYjYe6mvjuOaZMw4r63gzjVD9e8= =U4UH -----END PGP SIGNATURE----- Mon Sep 1 06:25:54 UTC 2025 I: Checking whether the package is not for us Mon Sep 1 06:25:54 UTC 2025 I: Starting 1st build on remote node ionos11-amd64.debian.net. Mon Sep 1 06:25:54 UTC 2025 I: Preparing to do remote build '1' on ionos11-amd64.debian.net. Mon Sep 1 06:30:44 UTC 2025 I: Deleting $TMPDIR on ionos11-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sun Aug 31 18:25:54 -12 2025 I: pbuilder-time-stamp: 1756707954 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [xarray-sentinel_0.9.5+ds-4.dsc] I: copying [./xarray-sentinel_0.9.5+ds.orig.tar.xz] I: copying [./xarray-sentinel_0.9.5+ds-4.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./xarray-sentinel_0.9.5+ds-4.dsc: no acceptable signature found dpkg-source: info: extracting xarray-sentinel in xarray-sentinel-0.9.5+ds dpkg-source: info: unpacking xarray-sentinel_0.9.5+ds.orig.tar.xz dpkg-source: info: unpacking xarray-sentinel_0.9.5+ds-4.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-test_get_fs_path.patch dpkg-source: info: applying 0002-Fix-compatibility-with-xarray-v2025.03.01.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3814488/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='7cf21f57145940bb8f5bb095a9bd5dd6' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3814488' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Mxd6EbHU/pbuilderrc_5cz0 --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Mxd6EbHU/b1 --logfile b1/build.log xarray-sentinel_0.9.5+ds-4.dsc' SUDO_GID='111' SUDO_HOME='/var/lib/jenkins' SUDO_UID='106' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos11-amd64 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3814488/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, dh-sequence-numpy3, dh-sequence-python3, pybuild-plugin-pyproject, python3-all, python3-dask, python3-fsspec (>= 2021.4.0), python3-netcdf4, python3-numpy, python3-pandas, python3-pytest, python3-rasterio (>= 1.3.0), python3-rioxarray, python3-setuptools, python3-setuptools-scm, python3-shapely, python3-xarray (>= 0.18.0), python3-xmlschema (>= 1.9.0), python3-zarr dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19897 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-numpy3; however: Package dh-sequence-numpy3 is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-dask; however: Package python3-dask is not installed. pbuilder-satisfydepends-dummy depends on python3-fsspec (>= 2021.4.0); however: Package python3-fsspec is not installed. pbuilder-satisfydepends-dummy depends on python3-netcdf4; however: Package python3-netcdf4 is not installed. pbuilder-satisfydepends-dummy depends on python3-numpy; however: Package python3-numpy is not installed. pbuilder-satisfydepends-dummy depends on python3-pandas; however: Package python3-pandas is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-rasterio (>= 1.3.0); however: Package python3-rasterio is not installed. pbuilder-satisfydepends-dummy depends on python3-rioxarray; however: Package python3-rioxarray is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools-scm; however: Package python3-setuptools-scm is not installed. pbuilder-satisfydepends-dummy depends on python3-shapely; however: Package python3-shapely is not installed. pbuilder-satisfydepends-dummy depends on python3-xarray (>= 0.18.0); however: Package python3-xarray is not installed. pbuilder-satisfydepends-dummy depends on python3-xmlschema (>= 1.9.0); however: Package python3-xmlschema is not installed. pbuilder-satisfydepends-dummy depends on python3-zarr; however: Package python3-zarr is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dirmngr{a} docutils-common{a} dwz{a} file{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} gdal-data{a} gdal-plugins{a} gettext{a} gettext-base{a} gnupg{a} gnupg-l10n{a} gpg{a} gpg-agent{a} gpgconf{a} gpgsm{a} groff-base{a} intltool-debian{a} libabsl20240722{a} libaec0{a} libaom3{a} libarchive-zip-perl{a} libarchive13t64{a} libarmadillo14{a} libarpack2t64{a} libassuan9{a} libavif16{a} libblas3{a} libblosc1{a} libbrotli1{a} libcfitsio10t64{a} libcom-err2{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdav1d7{a} libde265-0{a} libdebhelper-perl{a} libdeflate0{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfontconfig1{a} libfreetype6{a} libfreexl1{a} libfyba0t64{a} libgav1-1{a} libgcrypt20{a} libgdal37{a} libgeos-c1t64{a} libgeos3.14.0{a} libgeotiff5{a} libgfortran5{a} libgif7{a} libgnutls30t64{a} libgpg-error0{a} libgpgme11t64{a} libgpgmepp6t64{a} libgssapi-krb5-2{a} libhdf4-0{a} libhdf5-310{a} libhdf5-hl-310{a} libheif-plugin-dav1d{a} libheif-plugin-libde265{a} libheif1{a} libhwy1t64{a} libicu76{a} libidn2-0{a} libjbig0{a} libjpeg62-turbo{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libjson-c5{a} libjson-perl{a} libjxl0.11{a} libk5crypto3{a} libkeyutils1{a} libkmlbase1t64{a} libkmldom1t64{a} libkmlengine1t64{a} libkrb5-3{a} libkrb5support0{a} libksba8{a} liblapack3{a} liblcms2-2{a} libldap2{a} liblerc4{a} libltdl7{a} libmagic-mgc{a} libmagic1t64{a} libmariadb3{a} libminizip1t64{a} libmuparser2v5{a} libnetcdf22{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libnpth0t64{a} libnspr4{a} libnss3{a} libodbc2{a} libodbcinst2{a} libopenjp2-7{a} libp11-kit0{a} libpipeline1{a} libpng16-16t64{a} libpoppler147{a} libpq5{a} libproj25{a} libpsl5t64{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libqhull-r8.0{a} librav1e0.7{a} libreadline8t64{a} librtmp1{a} librttopo1{a} libsasl2-2{a} libsasl2-modules-db{a} libsharpyuv0{a} libsnappy1v5{a} libspatialite8t64{a} libssh2-1t64{a} libsvtav1enc2{a} libsz2{a} libtasn1-6{a} libtiff6{a} libtool{a} libuchardet0{a} libunistring5{a} liburiparser1{a} libwebp7{a} libxerces-c3.2t64{a} libxml2-16{a} libyaml-0-2{a} libyuv0{a} m4{a} man-db{a} mariadb-common{a} media-types{a} mysql-common{a} netbase{a} node-fortawesome-fontawesome-free{a} openssl{a} pinentry-curses{a} po-debconf{a} proj-data{a} pybuild-plugin-pyproject{a} python-babel-localedata{a} python3{a} python3-accessible-pygments{a} python3-affine{a} python3-alabaster{a} python3-all{a} python3-attr{a} python3-autocommand{a} python3-babel{a} python3-bs4{a} python3-build{a} python3-certifi{a} python3-cftime{a} python3-chardet{a} python3-charset-normalizer{a} python3-click{a} python3-cligj{a} python3-cloudpickle{a} python3-crc32c{a} python3-dask{a} python3-dateutil{a} python3-decorator{a} python3-defusedxml{a} python3-docutils{a} python3-donfig{a} python3-elementpath{a} python3-fsspec{a} python3-idna{a} python3-imagesize{a} python3-inflect{a} python3-iniconfig{a} python3-installer{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jinja2{a} python3-locket{a} python3-markupsafe{a} python3-minimal{a} python3-more-itertools{a} python3-netcdf4{a} python3-numcodecs{a} python3-numpy{a} python3-numpy-dev{a} python3-packaging{a} python3-pandas{a} python3-pandas-lib{a} python3-partd{a} python3-pkg-resources{a} python3-pluggy{a} python3-pydata-sphinx-theme{a} python3-pygments{a} python3-pyparsing{a} python3-pyproj{a} python3-pyproject-hooks{a} python3-pytest{a} python3-pytz{a} python3-rasterio{a} python3-requests{a} python3-rioxarray{a} python3-roman{a} python3-scipy{a} python3-setuptools{a} python3-setuptools-scm{a} python3-shapely{a} python3-snowballstemmer{a} python3-soupsieve{a} python3-sphinx{a} python3-sphinx-copybutton{a} python3-toolz{a} python3-typeguard{a} python3-typing-extensions{a} python3-urllib3{a} python3-wheel{a} python3-xarray{a} python3-xmlschema{a} python3-yaml{a} python3-zarr{a} python3-zipp{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} sgml-base{a} sphinx-common{a} tzdata{a} unixodbc-common{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: curl git gnupg-utils gpg-wks-client gpgv gpgv-from-sq javascript-common krb5-locales libarchive-cpio-perl libgpg-error-l10n libheif-plugin-aomenc libheif-plugin-x265 libjson-xs-perl libldap-common libltdl-dev libmail-sendmail-perl libodbccr2 libpaper-utils libsasl2-modules lynx poppler-data proj-bin publicsuffix python3-aiohttp python3-blosc python3-botocore python3-bottleneck python3-distributed python3-dropbox python3-h5netcdf python3-html5lib python3-libarchive-c python3-lxml python3-matplotlib python3-msgpack python3-numba python3-numexpr python3-odf python3-openpyxl python3-paramiko python3-pil python3-pooch python3-pygit2 python3-rich python3-tables python3-tz python3-zfpy python3-zmq wget 0 packages upgraded, 250 newly installed, 0 to remove and 0 not upgraded. Need to get 143 MB of archives. After unpacking 611 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main amd64 libexpat1 amd64 2.7.1-2 [108 kB] Get: 2 http://deb.debian.org/debian forky/main amd64 libpython3.13-minimal amd64 3.13.7-1 [864 kB] Get: 3 http://deb.debian.org/debian forky/main amd64 python3.13-minimal amd64 3.13.7-1 [2216 kB] Get: 4 http://deb.debian.org/debian forky/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB] Get: 5 http://deb.debian.org/debian forky/main amd64 media-types all 13.0.0 [29.3 kB] Get: 6 http://deb.debian.org/debian forky/main amd64 netbase all 6.5 [12.4 kB] Get: 7 http://deb.debian.org/debian forky/main amd64 tzdata all 2025b-5 [260 kB] Get: 8 http://deb.debian.org/debian forky/main amd64 libffi8 amd64 3.4.8-2 [24.1 kB] Get: 9 http://deb.debian.org/debian forky/main amd64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian forky/main amd64 libreadline8t64 amd64 8.2-6 [169 kB] Get: 11 http://deb.debian.org/debian forky/main amd64 libpython3.13-stdlib amd64 3.13.7-1 [1960 kB] Get: 12 http://deb.debian.org/debian forky/main amd64 python3.13 amd64 3.13.7-1 [761 kB] Get: 13 http://deb.debian.org/debian forky/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB] Get: 14 http://deb.debian.org/debian forky/main amd64 python3 amd64 3.13.5-1 [28.2 kB] Get: 15 http://deb.debian.org/debian forky/main amd64 python3-numpy-dev amd64 1:2.2.4+ds-1 [139 kB] Get: 16 http://deb.debian.org/debian forky/main amd64 libblas3 amd64 3.12.1-6 [160 kB] Get: 17 http://deb.debian.org/debian forky/main amd64 libgfortran5 amd64 15.2.0-1 [862 kB] Get: 18 http://deb.debian.org/debian forky/main amd64 liblapack3 amd64 3.12.1-6 [2447 kB] Get: 19 http://deb.debian.org/debian forky/main amd64 python3-numpy amd64 1:2.2.4+ds-1 [5096 kB] Get: 20 http://deb.debian.org/debian forky/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get: 21 http://deb.debian.org/debian forky/main amd64 openssl amd64 3.5.2-1 [1493 kB] Get: 22 http://deb.debian.org/debian forky/main amd64 ca-certificates all 20250419 [162 kB] Get: 23 http://deb.debian.org/debian forky/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 24 http://deb.debian.org/debian forky/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 25 http://deb.debian.org/debian forky/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 26 http://deb.debian.org/debian forky/main amd64 gettext-base amd64 0.23.1-2+b1 [244 kB] Get: 27 http://deb.debian.org/debian forky/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 28 http://deb.debian.org/debian forky/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 29 http://deb.debian.org/debian forky/main amd64 bsdextrautils amd64 2.41.1-1 [94.7 kB] Get: 30 http://deb.debian.org/debian forky/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 31 http://deb.debian.org/debian forky/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 32 http://deb.debian.org/debian forky/main amd64 m4 amd64 1.4.19-8 [294 kB] Get: 33 http://deb.debian.org/debian forky/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 34 http://deb.debian.org/debian forky/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 35 http://deb.debian.org/debian forky/main amd64 automake all 1:1.17-4 [862 kB] Get: 36 http://deb.debian.org/debian forky/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 37 http://deb.debian.org/debian forky/main amd64 libdebhelper-perl all 13.26 [91.8 kB] Get: 38 http://deb.debian.org/debian forky/main amd64 libtool all 2.5.4-4 [539 kB] Get: 39 http://deb.debian.org/debian forky/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 40 http://deb.debian.org/debian forky/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 41 http://deb.debian.org/debian forky/main amd64 libfile-stripnondeterminism-perl all 1.14.2-1 [19.8 kB] Get: 42 http://deb.debian.org/debian forky/main amd64 dh-strip-nondeterminism all 1.14.2-1 [8768 B] Get: 43 http://deb.debian.org/debian forky/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 44 http://deb.debian.org/debian forky/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 45 http://deb.debian.org/debian forky/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 46 http://deb.debian.org/debian forky/main amd64 libxml2-16 amd64 2.14.5+dfsg-0.2 [638 kB] Get: 47 http://deb.debian.org/debian forky/main amd64 gettext amd64 0.23.1-2+b1 [1680 kB] Get: 48 http://deb.debian.org/debian forky/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 49 http://deb.debian.org/debian forky/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 50 http://deb.debian.org/debian forky/main amd64 debhelper all 13.26 [939 kB] Get: 51 http://deb.debian.org/debian forky/main amd64 dh-python all 6.20250414 [116 kB] Get: 52 http://deb.debian.org/debian forky/main amd64 libgpg-error0 amd64 1.55-2 [88.1 kB] Get: 53 http://deb.debian.org/debian forky/main amd64 libassuan9 amd64 3.0.2-2 [61.5 kB] Get: 54 http://deb.debian.org/debian forky/main amd64 libgcrypt20 amd64 1.11.2-2 [865 kB] Get: 55 http://deb.debian.org/debian forky/main amd64 gpgconf amd64 2.4.8-3 [129 kB] Get: 56 http://deb.debian.org/debian forky/main amd64 libidn2-0 amd64 2.3.8-4 [110 kB] Get: 57 http://deb.debian.org/debian forky/main amd64 libp11-kit0 amd64 0.25.5-3 [425 kB] Get: 58 http://deb.debian.org/debian forky/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB] Get: 59 http://deb.debian.org/debian forky/main amd64 libgnutls30t64 amd64 3.8.9-3 [1465 kB] Get: 60 http://deb.debian.org/debian forky/main amd64 libksba8 amd64 1.6.7-2+b1 [136 kB] Get: 61 http://deb.debian.org/debian forky/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-9 [19.8 kB] Get: 62 http://deb.debian.org/debian forky/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-9 [57.5 kB] Get: 63 http://deb.debian.org/debian forky/main amd64 libldap2 amd64 2.6.10+dfsg-1 [194 kB] Get: 64 http://deb.debian.org/debian forky/main amd64 libnpth0t64 amd64 1.8-3 [23.2 kB] Get: 65 http://deb.debian.org/debian forky/main amd64 dirmngr amd64 2.4.8-3 [384 kB] Get: 66 http://deb.debian.org/debian forky/main amd64 sgml-base all 1.31+nmu1 [10.9 kB] Get: 67 http://deb.debian.org/debian forky/main amd64 xml-core all 0.19 [20.1 kB] Get: 68 http://deb.debian.org/debian forky/main amd64 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 69 http://deb.debian.org/debian forky/main amd64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 70 http://deb.debian.org/debian forky/main amd64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 71 http://deb.debian.org/debian forky/main amd64 fontconfig-config amd64 2.15.0-2.3 [318 kB] Get: 72 http://deb.debian.org/debian forky/main amd64 gdal-data all 3.11.3+dfsg-1 [421 kB] Get: 73 http://deb.debian.org/debian forky/main amd64 gdal-plugins amd64 3.11.3+dfsg-1 [195 kB] Get: 74 http://deb.debian.org/debian forky/main amd64 gnupg-l10n all 2.4.8-3 [753 kB] Get: 75 http://deb.debian.org/debian forky/main amd64 gpg amd64 2.4.8-3 [634 kB] Get: 76 http://deb.debian.org/debian forky/main amd64 pinentry-curses amd64 1.3.2-3 [87.8 kB] Get: 77 http://deb.debian.org/debian forky/main amd64 gpg-agent amd64 2.4.8-3 [271 kB] Get: 78 http://deb.debian.org/debian forky/main amd64 gpgsm amd64 2.4.8-3 [275 kB] Get: 79 http://deb.debian.org/debian forky/main amd64 gnupg all 2.4.8-3 [418 kB] Get: 80 http://deb.debian.org/debian forky/main amd64 libabsl20240722 amd64 20240722.0-4 [492 kB] Get: 81 http://deb.debian.org/debian forky/main amd64 libaec0 amd64 1.1.4-2 [23.8 kB] Get: 82 http://deb.debian.org/debian forky/main amd64 libaom3 amd64 3.12.1-1 [1871 kB] Get: 83 http://deb.debian.org/debian forky/main amd64 libarchive13t64 amd64 3.7.4-4+b1 [349 kB] Get: 84 http://deb.debian.org/debian forky/main amd64 libarpack2t64 amd64 3.9.1-6 [104 kB] Get: 85 http://deb.debian.org/debian forky/main amd64 libarmadillo14 amd64 1:14.2.3+dfsg-1+b1 [102 kB] Get: 86 http://deb.debian.org/debian forky/main amd64 libdav1d7 amd64 1.5.1-1 [559 kB] Get: 87 http://deb.debian.org/debian forky/main amd64 libgav1-1 amd64 0.19.0-3+b1 [353 kB] Get: 88 http://deb.debian.org/debian forky/main amd64 librav1e0.7 amd64 0.7.1-9+b2 [946 kB] Get: 89 http://deb.debian.org/debian forky/main amd64 libsvtav1enc2 amd64 2.3.0+dfsg-1 [2489 kB] Get: 90 http://deb.debian.org/debian forky/main amd64 libjpeg62-turbo amd64 1:2.1.5-4 [168 kB] Get: 91 http://deb.debian.org/debian forky/main amd64 libyuv0 amd64 0.0.1916.20250814-1 [172 kB] Get: 92 http://deb.debian.org/debian forky/main amd64 libavif16 amd64 1.3.0-1 [135 kB] Get: 93 http://deb.debian.org/debian forky/main amd64 libsnappy1v5 amd64 1.2.2-1 [29.3 kB] Get: 94 http://deb.debian.org/debian forky/main amd64 libblosc1 amd64 1.21.5+ds-1+b2 [49.5 kB] Get: 95 http://deb.debian.org/debian forky/main amd64 libbrotli1 amd64 1.1.0-2+b7 [307 kB] Get: 96 http://deb.debian.org/debian forky/main amd64 libkrb5support0 amd64 1.21.3-5 [33.0 kB] Get: 97 http://deb.debian.org/debian forky/main amd64 libcom-err2 amd64 1.47.2-3+b3 [25.0 kB] Get: 98 http://deb.debian.org/debian forky/main amd64 libk5crypto3 amd64 1.21.3-5 [81.5 kB] Get: 99 http://deb.debian.org/debian forky/main amd64 libkeyutils1 amd64 1.6.3-6 [9456 B] Get: 100 http://deb.debian.org/debian forky/main amd64 libkrb5-3 amd64 1.21.3-5 [326 kB] Get: 101 http://deb.debian.org/debian forky/main amd64 libgssapi-krb5-2 amd64 1.21.3-5 [138 kB] Get: 102 http://deb.debian.org/debian forky/main amd64 libnghttp2-14 amd64 1.64.0-1.1+b1 [76.2 kB] Get: 103 http://deb.debian.org/debian forky/main amd64 libnghttp3-9 amd64 1.8.0-1 [67.7 kB] Get: 104 http://deb.debian.org/debian forky/main amd64 libngtcp2-16 amd64 1.11.0-1 [131 kB] Get: 105 http://deb.debian.org/debian forky/main amd64 libngtcp2-crypto-gnutls8 amd64 1.11.0-1 [29.3 kB] Get: 106 http://deb.debian.org/debian forky/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 107 http://deb.debian.org/debian forky/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-3 [58.3 kB] Get: 108 http://deb.debian.org/debian forky/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB] Get: 109 http://deb.debian.org/debian forky/main amd64 libcurl3t64-gnutls amd64 8.15.0-1 [385 kB] Get: 110 http://deb.debian.org/debian forky/main amd64 libcfitsio10t64 amd64 4.6.2-2 [577 kB] Get: 111 http://deb.debian.org/debian forky/main amd64 libcurl4t64 amd64 8.15.0-1 [392 kB] Get: 112 http://deb.debian.org/debian forky/main amd64 libde265-0 amd64 1.0.16-1 [189 kB] Get: 113 http://deb.debian.org/debian forky/main amd64 libdeflate0 amd64 1.23-2 [47.3 kB] Get: 114 http://deb.debian.org/debian forky/main amd64 libpng16-16t64 amd64 1.6.50-1 [282 kB] Get: 115 http://deb.debian.org/debian forky/main amd64 libfreetype6 amd64 2.13.3+dfsg-1 [452 kB] Get: 116 http://deb.debian.org/debian forky/main amd64 libfontconfig1 amd64 2.15.0-2.3 [392 kB] Get: 117 http://deb.debian.org/debian forky/main amd64 libminizip1t64 amd64 1:1.3.dfsg+really1.3.1-1+b1 [53.3 kB] Get: 118 http://deb.debian.org/debian forky/main amd64 libfreexl1 amd64 2.0.0-1+b3 [40.0 kB] Get: 119 http://deb.debian.org/debian forky/main amd64 libfyba0t64 amd64 4.1.1-11+b1 [113 kB] Get: 120 http://deb.debian.org/debian forky/main amd64 libgeos3.14.0 amd64 3.14.0-1 [1019 kB] Get: 121 http://deb.debian.org/debian forky/main amd64 libgeos-c1t64 amd64 3.14.0-1 [118 kB] Get: 122 http://deb.debian.org/debian forky/main amd64 proj-data all 9.6.2-1 [6299 kB] Get: 123 http://deb.debian.org/debian forky/main amd64 libjbig0 amd64 2.1-6.1+b2 [32.1 kB] Get: 124 http://deb.debian.org/debian forky/main amd64 liblerc4 amd64 4.0.0+ds-5 [183 kB] Get: 125 http://deb.debian.org/debian forky/main amd64 libsharpyuv0 amd64 1.5.0-0.1 [116 kB] Get: 126 http://deb.debian.org/debian forky/main amd64 libwebp7 amd64 1.5.0-0.1 [318 kB] Get: 127 http://deb.debian.org/debian forky/main amd64 libtiff6 amd64 4.7.0-4 [346 kB] Get: 128 http://deb.debian.org/debian forky/main amd64 libproj25 amd64 9.6.2-1 [1456 kB] Get: 129 http://deb.debian.org/debian forky/main amd64 libgeotiff5 amd64 1.7.4-1 [68.3 kB] Get: 130 http://deb.debian.org/debian forky/main amd64 libgif7 amd64 5.2.2-1+b1 [44.2 kB] Get: 131 http://deb.debian.org/debian forky/main amd64 libsz2 amd64 1.1.4-2 [8108 B] Get: 132 http://deb.debian.org/debian forky/main amd64 libhdf4-0 amd64 4.3.1-1 [295 kB] Get: 133 http://deb.debian.org/debian forky/main amd64 libhdf5-310 amd64 1.14.5+repack-3 [1344 kB] Get: 134 http://deb.debian.org/debian forky/main amd64 libheif-plugin-dav1d amd64 1.20.2-2 [19.2 kB] Get: 135 http://deb.debian.org/debian forky/main amd64 libheif-plugin-libde265 amd64 1.20.2-2 [17.6 kB] Get: 136 http://deb.debian.org/debian forky/main amd64 libheif1 amd64 1.20.2-2 [627 kB] Get: 137 http://deb.debian.org/debian forky/main amd64 libjson-c5 amd64 0.18+ds-1 [46.0 kB] Get: 138 http://deb.debian.org/debian forky/main amd64 libhwy1t64 amd64 1.2.0-2+b2 [676 kB] Get: 139 http://deb.debian.org/debian forky/main amd64 liblcms2-2 amd64 2.16-2 [160 kB] Get: 140 http://deb.debian.org/debian forky/main amd64 libjxl0.11 amd64 0.11.1-4 [1132 kB] Get: 141 http://deb.debian.org/debian forky/main amd64 liburiparser1 amd64 0.9.8+dfsg-2 [45.5 kB] Get: 142 http://deb.debian.org/debian forky/main amd64 libkmlbase1t64 amd64 1.3.0-12+b2 [50.5 kB] Get: 143 http://deb.debian.org/debian forky/main amd64 libkmldom1t64 amd64 1.3.0-12+b2 [158 kB] Get: 144 http://deb.debian.org/debian forky/main amd64 libkmlengine1t64 amd64 1.3.0-12+b2 [80.1 kB] Get: 145 http://deb.debian.org/debian forky/main amd64 mysql-common all 5.8+1.1.1 [6784 B] Get: 146 http://deb.debian.org/debian forky/main amd64 mariadb-common all 1:11.8.3-1 [28.8 kB] Get: 147 http://deb.debian.org/debian forky/main amd64 libmariadb3 amd64 1:11.8.3-1+b1 [188 kB] Get: 148 http://deb.debian.org/debian forky/main amd64 libmuparser2v5 amd64 2.3.4-1+b1 [149 kB] Get: 149 http://deb.debian.org/debian forky/main amd64 libhdf5-hl-310 amd64 1.14.5+repack-3 [69.3 kB] Get: 150 http://deb.debian.org/debian forky/main amd64 libnetcdf22 amd64 1:4.9.3-1+b1 [517 kB] Get: 151 http://deb.debian.org/debian forky/main amd64 libltdl7 amd64 2.5.4-4 [416 kB] Get: 152 http://deb.debian.org/debian forky/main amd64 libodbc2 amd64 2.3.12-2 [151 kB] Get: 153 http://deb.debian.org/debian forky/main amd64 unixodbc-common all 2.3.12-2 [8640 B] Get: 154 http://deb.debian.org/debian forky/main amd64 libodbcinst2 amd64 2.3.12-2 [35.1 kB] Get: 155 http://deb.debian.org/debian forky/main amd64 libopenjp2-7 amd64 2.5.3-2.1 [204 kB] Get: 156 http://deb.debian.org/debian forky/main amd64 libgpgme11t64 amd64 1.24.2-3 [346 kB] Get: 157 http://deb.debian.org/debian forky/main amd64 libgpgmepp6t64 amd64 1.24.2-3 [341 kB] Get: 158 http://deb.debian.org/debian forky/main amd64 libnspr4 amd64 2:4.36-1 [110 kB] Get: 159 http://deb.debian.org/debian forky/main amd64 libnss3 amd64 2:3.114-1 [1399 kB] Get: 160 http://deb.debian.org/debian forky/main amd64 libpoppler147 amd64 25.03.0-6 [2034 kB] Get: 161 http://deb.debian.org/debian forky/main amd64 libpq5 amd64 17.6-1 [227 kB] Get: 162 http://deb.debian.org/debian forky/main amd64 libqhull-r8.0 amd64 2020.2-6+b2 [248 kB] Get: 163 http://deb.debian.org/debian forky/main amd64 librttopo1 amd64 1.1.0-4 [179 kB] Get: 164 http://deb.debian.org/debian forky/main amd64 libspatialite8t64 amd64 5.1.0-3+b4 [1851 kB] Get: 165 http://deb.debian.org/debian forky/main amd64 libicu76 amd64 76.1-4 [9722 kB] Get: 166 http://deb.debian.org/debian forky/main amd64 libxerces-c3.2t64 amd64 3.2.4+debian-1.3+b2 [898 kB] Get: 167 http://deb.debian.org/debian forky/main amd64 libgdal37 amd64 3.11.3+dfsg-1 [10.5 MB] Get: 168 http://deb.debian.org/debian forky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 169 http://deb.debian.org/debian forky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 170 http://deb.debian.org/debian forky/main amd64 libjs-sphinxdoc all 8.1.3-5 [30.5 kB] Get: 171 http://deb.debian.org/debian forky/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 172 http://deb.debian.org/debian forky/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB] Get: 173 http://deb.debian.org/debian forky/main amd64 node-fortawesome-fontawesome-free all 6.7.2+ds1-1 [1521 kB] Get: 174 http://deb.debian.org/debian forky/main amd64 python3-packaging all 25.0-1 [56.6 kB] Get: 175 http://deb.debian.org/debian forky/main amd64 python3-pyproject-hooks all 1.2.0-1 [11.7 kB] Get: 176 http://deb.debian.org/debian forky/main amd64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 177 http://deb.debian.org/debian forky/main amd64 python3-build all 1.2.2-4 [36.2 kB] Get: 178 http://deb.debian.org/debian forky/main amd64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 179 http://deb.debian.org/debian forky/main amd64 pybuild-plugin-pyproject all 6.20250414 [11.8 kB] Get: 180 http://deb.debian.org/debian forky/main amd64 python-babel-localedata all 2.17.0-1 [6050 kB] Get: 181 http://deb.debian.org/debian forky/main amd64 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 182 http://deb.debian.org/debian forky/main amd64 python3-accessible-pygments all 0.0.5-2 [1306 kB] Get: 183 http://deb.debian.org/debian forky/main amd64 python3-affine all 2.4.0-2 [15.2 kB] Get: 184 http://deb.debian.org/debian forky/main amd64 python3-alabaster all 0.7.16-0.1 [27.9 kB] Get: 185 http://deb.debian.org/debian forky/main amd64 python3-all amd64 3.13.5-1 [1048 B] Get: 186 http://deb.debian.org/debian forky/main amd64 python3-attr all 25.3.0-1 [69.5 kB] Get: 187 http://deb.debian.org/debian forky/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 188 http://deb.debian.org/debian forky/main amd64 python3-babel all 2.17.0-1 [117 kB] Get: 189 http://deb.debian.org/debian forky/main amd64 python3-soupsieve all 2.7-2 [39.0 kB] Get: 190 http://deb.debian.org/debian forky/main amd64 python3-typing-extensions all 4.14.1-1 [91.3 kB] Get: 191 http://deb.debian.org/debian forky/main amd64 python3-bs4 all 4.13.4-4 [167 kB] Get: 192 http://deb.debian.org/debian forky/main amd64 python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 193 http://deb.debian.org/debian forky/main amd64 python3-cftime amd64 1.6.4-2 [216 kB] Get: 194 http://deb.debian.org/debian forky/main amd64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 195 http://deb.debian.org/debian forky/main amd64 python3-charset-normalizer amd64 3.4.3-1 [131 kB] Get: 196 http://deb.debian.org/debian forky/main amd64 python3-click all 8.2.0+0.really.8.1.8-1 [95.4 kB] Get: 197 http://deb.debian.org/debian forky/main amd64 python3-cligj all 0.7.2-3 [8816 B] Get: 198 http://deb.debian.org/debian forky/main amd64 python3-cloudpickle all 3.1.1-1 [26.6 kB] Get: 199 http://deb.debian.org/debian forky/main amd64 python3-crc32c amd64 2.7.1-1 [26.3 kB] Get: 200 http://deb.debian.org/debian forky/main amd64 python3-fsspec all 2025.7.0-1 [221 kB] Get: 201 http://deb.debian.org/debian forky/main amd64 python3-toolz all 1.0.0-2 [44.2 kB] Get: 202 http://deb.debian.org/debian forky/main amd64 python3-locket all 1.0.0-2 [5820 B] Get: 203 http://deb.debian.org/debian forky/main amd64 python3-partd all 1.4.2-1 [15.4 kB] Get: 204 http://deb.debian.org/debian forky/main amd64 python3-yaml amd64 6.0.2-2 [137 kB] Get: 205 http://deb.debian.org/debian forky/main amd64 python3-dask all 2024.12.1+dfsg-2 [984 kB] Get: 206 http://deb.debian.org/debian forky/main amd64 python3-dateutil all 2.9.0-4 [79.4 kB] Get: 207 http://deb.debian.org/debian forky/main amd64 python3-decorator all 5.2.1-2 [33.0 kB] Get: 208 http://deb.debian.org/debian forky/main amd64 python3-defusedxml all 0.7.1-3 [43.4 kB] Get: 209 http://deb.debian.org/debian forky/main amd64 python3-roman all 5.1-1 [11.0 kB] Get: 210 http://deb.debian.org/debian forky/main amd64 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 211 http://deb.debian.org/debian forky/main amd64 python3-donfig all 0.8.1+dfsg-3 [18.3 kB] Get: 212 http://deb.debian.org/debian forky/main amd64 python3-elementpath all 5.0.4-1 [164 kB] Get: 213 http://deb.debian.org/debian forky/main amd64 python3-idna all 3.10-1 [42.0 kB] Get: 214 http://deb.debian.org/debian forky/main amd64 python3-imagesize all 1.4.1-1 [6688 B] Get: 215 http://deb.debian.org/debian forky/main amd64 python3-more-itertools all 10.7.0-1 [67.4 kB] Get: 216 http://deb.debian.org/debian forky/main amd64 python3-typeguard all 4.4.4-1 [37.1 kB] Get: 217 http://deb.debian.org/debian forky/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 218 http://deb.debian.org/debian forky/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 219 http://deb.debian.org/debian forky/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 220 http://deb.debian.org/debian forky/main amd64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 221 http://deb.debian.org/debian forky/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 222 http://deb.debian.org/debian forky/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 223 http://deb.debian.org/debian forky/main amd64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 224 http://deb.debian.org/debian forky/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 225 http://deb.debian.org/debian forky/main amd64 python3-markupsafe amd64 2.1.5-1+b3 [14.0 kB] Get: 226 http://deb.debian.org/debian forky/main amd64 python3-jinja2 all 3.1.6-1 [107 kB] Get: 227 http://deb.debian.org/debian forky/main amd64 python3-netcdf4 amd64 1.7.2-1+b4 [622 kB] Get: 228 http://deb.debian.org/debian forky/main amd64 sphinx-common all 8.1.3-5 [617 kB] Get: 229 http://deb.debian.org/debian forky/main amd64 python3-urllib3 all 2.5.0-1 [116 kB] Get: 230 http://deb.debian.org/debian forky/main amd64 python3-requests all 2.32.4+dfsg-1 [72.4 kB] Get: 231 http://deb.debian.org/debian forky/main amd64 python3-snowballstemmer all 3.0.1-1 [63.5 kB] Get: 232 http://deb.debian.org/debian forky/main amd64 python3-sphinx all 8.1.3-5 [468 kB] Get: 233 http://deb.debian.org/debian forky/main amd64 python3-pydata-sphinx-theme all 0.16.1+dfsg-3 [917 kB] Get: 234 http://deb.debian.org/debian forky/main amd64 python3-numcodecs amd64 0.16.2+ds-2 [388 kB] Get: 235 http://deb.debian.org/debian forky/main amd64 python3-pytz all 2025.2-3 [152 kB] Get: 236 http://deb.debian.org/debian forky/main amd64 python3-pandas-lib amd64 2.2.3+dfsg-9 [4595 kB] Get: 237 http://deb.debian.org/debian forky/main amd64 python3-pandas all 2.2.3+dfsg-9 [3097 kB] Get: 238 http://deb.debian.org/debian forky/main amd64 python3-pluggy all 1.6.0-1 [27.1 kB] Get: 239 http://deb.debian.org/debian forky/main amd64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 240 http://deb.debian.org/debian forky/main amd64 python3-pyproj amd64 3.7.2-1 [428 kB] Get: 241 http://deb.debian.org/debian forky/main amd64 python3-pytest all 8.3.5-2 [250 kB] Get: 242 http://deb.debian.org/debian forky/main amd64 python3-rasterio amd64 1.4.3-3+b1 [1245 kB] Get: 243 http://deb.debian.org/debian forky/main amd64 python3-xarray all 2025.03.1-8 [820 kB] Get: 244 http://deb.debian.org/debian forky/main amd64 python3-scipy amd64 1.15.3-1 [16.3 MB] Get: 245 http://deb.debian.org/debian forky/main amd64 python3-rioxarray all 0.19.0-1 [1397 kB] Get: 246 http://deb.debian.org/debian forky/main amd64 python3-setuptools-scm all 8.2.1-2 [41.3 kB] Get: 247 http://deb.debian.org/debian forky/main amd64 python3-shapely amd64 2.1.1-3 [338 kB] Get: 248 http://deb.debian.org/debian forky/main amd64 python3-sphinx-copybutton all 0.5.2-3 [18.1 kB] Get: 249 http://deb.debian.org/debian forky/main amd64 python3-xmlschema all 4.1.0-1 [262 kB] Get: 250 http://deb.debian.org/debian forky/main amd64 python3-zarr all 3.0.6-2 [1990 kB] Fetched 143 MB in 4s (38.2 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19897 files and directories currently installed.) Preparing to unpack .../libexpat1_2.7.1-2_amd64.deb ... Unpacking libexpat1:amd64 (2.7.1-2) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../libpython3.13-minimal_3.13.7-1_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.7-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.7-1_amd64.deb ... Unpacking python3.13-minimal (3.13.7-1) ... Setting up libpython3.13-minimal:amd64 (3.13.7-1) ... Setting up libexpat1:amd64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.7-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20231 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.8-2_amd64.deb ... Unpacking libffi8:amd64 (3.4.8-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../6-libreadline8t64_8.2-6_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.7-1_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.7-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.7-1_amd64.deb ... Unpacking python3.13 (3.13.7-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../9-libpython3-stdlib_3.13.5-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21246 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.5-1_amd64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package python3-numpy-dev:amd64. Preparing to unpack .../001-python3-numpy-dev_1%3a2.2.4+ds-1_amd64.deb ... Unpacking python3-numpy-dev:amd64 (1:2.2.4+ds-1) ... Selecting previously unselected package libblas3:amd64. Preparing to unpack .../002-libblas3_3.12.1-6_amd64.deb ... Unpacking libblas3:amd64 (3.12.1-6) ... Selecting previously unselected package libgfortran5:amd64. Preparing to unpack .../003-libgfortran5_15.2.0-1_amd64.deb ... Unpacking libgfortran5:amd64 (15.2.0-1) ... Selecting previously unselected package liblapack3:amd64. Preparing to unpack .../004-liblapack3_3.12.1-6_amd64.deb ... Unpacking liblapack3:amd64 (3.12.1-6) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../005-python3-numpy_1%3a2.2.4+ds-1_amd64.deb ... Unpacking python3-numpy (1:2.2.4+ds-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../006-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../007-openssl_3.5.2-1_amd64.deb ... Unpacking openssl (3.5.2-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../008-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../009-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../010-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../011-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../012-gettext-base_0.23.1-2+b1_amd64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../013-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../014-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../015-bsdextrautils_2.41.1-1_amd64.deb ... Unpacking bsdextrautils (2.41.1-1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../016-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../017-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../018-m4_1.4.19-8_amd64.deb ... Unpacking m4 (1.4.19-8) ... Selecting previously unselected package autoconf. Preparing to unpack .../019-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../020-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../021-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../022-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../023-libdebhelper-perl_13.26_all.deb ... Unpacking libdebhelper-perl (13.26) ... Selecting previously unselected package libtool. Preparing to unpack .../024-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../025-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../026-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../027-libfile-stripnondeterminism-perl_1.14.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../028-dh-strip-nondeterminism_1.14.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.2-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../029-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../030-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../031-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../032-libxml2-16_2.14.5+dfsg-0.2_amd64.deb ... Unpacking libxml2-16:amd64 (2.14.5+dfsg-0.2) ... Selecting previously unselected package gettext. Preparing to unpack .../033-gettext_0.23.1-2+b1_amd64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../034-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../035-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../036-debhelper_13.26_all.deb ... Unpacking debhelper (13.26) ... Selecting previously unselected package dh-python. Preparing to unpack .../037-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package libgpg-error0:amd64. Preparing to unpack .../038-libgpg-error0_1.55-2_amd64.deb ... Unpacking libgpg-error0:amd64 (1.55-2) ... Selecting previously unselected package libassuan9:amd64. Preparing to unpack .../039-libassuan9_3.0.2-2_amd64.deb ... Unpacking libassuan9:amd64 (3.0.2-2) ... Selecting previously unselected package libgcrypt20:amd64. Preparing to unpack .../040-libgcrypt20_1.11.2-2_amd64.deb ... Unpacking libgcrypt20:amd64 (1.11.2-2) ... Selecting previously unselected package gpgconf. Preparing to unpack .../041-gpgconf_2.4.8-3_amd64.deb ... Unpacking gpgconf (2.4.8-3) ... Selecting previously unselected package libidn2-0:amd64. Preparing to unpack .../042-libidn2-0_2.3.8-4_amd64.deb ... Unpacking libidn2-0:amd64 (2.3.8-4) ... Selecting previously unselected package libp11-kit0:amd64. Preparing to unpack .../043-libp11-kit0_0.25.5-3_amd64.deb ... Unpacking libp11-kit0:amd64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:amd64. Preparing to unpack .../044-libtasn1-6_4.20.0-2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:amd64. Preparing to unpack .../045-libgnutls30t64_3.8.9-3_amd64.deb ... Unpacking libgnutls30t64:amd64 (3.8.9-3) ... Selecting previously unselected package libksba8:amd64. Preparing to unpack .../046-libksba8_1.6.7-2+b1_amd64.deb ... Unpacking libksba8:amd64 (1.6.7-2+b1) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../047-libsasl2-modules-db_2.1.28+dfsg1-9_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-9) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../048-libsasl2-2_2.1.28+dfsg1-9_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-9) ... Selecting previously unselected package libldap2:amd64. Preparing to unpack .../049-libldap2_2.6.10+dfsg-1_amd64.deb ... Unpacking libldap2:amd64 (2.6.10+dfsg-1) ... Selecting previously unselected package libnpth0t64:amd64. Preparing to unpack .../050-libnpth0t64_1.8-3_amd64.deb ... Unpacking libnpth0t64:amd64 (1.8-3) ... Selecting previously unselected package dirmngr. Preparing to unpack .../051-dirmngr_2.4.8-3_amd64.deb ... Unpacking dirmngr (2.4.8-3) ... Selecting previously unselected package sgml-base. Preparing to unpack .../052-sgml-base_1.31+nmu1_all.deb ... Unpacking sgml-base (1.31+nmu1) ... Selecting previously unselected package xml-core. Preparing to unpack .../053-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../054-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../055-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../056-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../057-fontconfig-config_2.15.0-2.3_amd64.deb ... Unpacking fontconfig-config (2.15.0-2.3) ... Selecting previously unselected package gdal-data. Preparing to unpack .../058-gdal-data_3.11.3+dfsg-1_all.deb ... Unpacking gdal-data (3.11.3+dfsg-1) ... Selecting previously unselected package gdal-plugins:amd64. Preparing to unpack .../059-gdal-plugins_3.11.3+dfsg-1_amd64.deb ... Unpacking gdal-plugins:amd64 (3.11.3+dfsg-1) ... Selecting previously unselected package gnupg-l10n. Preparing to unpack .../060-gnupg-l10n_2.4.8-3_all.deb ... Unpacking gnupg-l10n (2.4.8-3) ... Selecting previously unselected package gpg. Preparing to unpack .../061-gpg_2.4.8-3_amd64.deb ... Unpacking gpg (2.4.8-3) ... Selecting previously unselected package pinentry-curses. Preparing to unpack .../062-pinentry-curses_1.3.2-3_amd64.deb ... Unpacking pinentry-curses (1.3.2-3) ... Selecting previously unselected package gpg-agent. Preparing to unpack .../063-gpg-agent_2.4.8-3_amd64.deb ... Unpacking gpg-agent (2.4.8-3) ... Selecting previously unselected package gpgsm. Preparing to unpack .../064-gpgsm_2.4.8-3_amd64.deb ... Unpacking gpgsm (2.4.8-3) ... Selecting previously unselected package gnupg. Preparing to unpack .../065-gnupg_2.4.8-3_all.deb ... Unpacking gnupg (2.4.8-3) ... Selecting previously unselected package libabsl20240722:amd64. Preparing to unpack .../066-libabsl20240722_20240722.0-4_amd64.deb ... Unpacking libabsl20240722:amd64 (20240722.0-4) ... Selecting previously unselected package libaec0:amd64. Preparing to unpack .../067-libaec0_1.1.4-2_amd64.deb ... Unpacking libaec0:amd64 (1.1.4-2) ... Selecting previously unselected package libaom3:amd64. Preparing to unpack .../068-libaom3_3.12.1-1_amd64.deb ... Unpacking libaom3:amd64 (3.12.1-1) ... Selecting previously unselected package libarchive13t64:amd64. Preparing to unpack .../069-libarchive13t64_3.7.4-4+b1_amd64.deb ... Unpacking libarchive13t64:amd64 (3.7.4-4+b1) ... Selecting previously unselected package libarpack2t64:amd64. Preparing to unpack .../070-libarpack2t64_3.9.1-6_amd64.deb ... Unpacking libarpack2t64:amd64 (3.9.1-6) ... Selecting previously unselected package libarmadillo14. Preparing to unpack .../071-libarmadillo14_1%3a14.2.3+dfsg-1+b1_amd64.deb ... Unpacking libarmadillo14 (1:14.2.3+dfsg-1+b1) ... Selecting previously unselected package libdav1d7:amd64. Preparing to unpack .../072-libdav1d7_1.5.1-1_amd64.deb ... Unpacking libdav1d7:amd64 (1.5.1-1) ... Selecting previously unselected package libgav1-1:amd64. Preparing to unpack .../073-libgav1-1_0.19.0-3+b1_amd64.deb ... Unpacking libgav1-1:amd64 (0.19.0-3+b1) ... Selecting previously unselected package librav1e0.7:amd64. Preparing to unpack .../074-librav1e0.7_0.7.1-9+b2_amd64.deb ... Unpacking librav1e0.7:amd64 (0.7.1-9+b2) ... Selecting previously unselected package libsvtav1enc2:amd64. Preparing to unpack .../075-libsvtav1enc2_2.3.0+dfsg-1_amd64.deb ... Unpacking libsvtav1enc2:amd64 (2.3.0+dfsg-1) ... Selecting previously unselected package libjpeg62-turbo:amd64. Preparing to unpack .../076-libjpeg62-turbo_1%3a2.1.5-4_amd64.deb ... Unpacking libjpeg62-turbo:amd64 (1:2.1.5-4) ... Selecting previously unselected package libyuv0:amd64. Preparing to unpack .../077-libyuv0_0.0.1916.20250814-1_amd64.deb ... Unpacking libyuv0:amd64 (0.0.1916.20250814-1) ... Selecting previously unselected package libavif16:amd64. Preparing to unpack .../078-libavif16_1.3.0-1_amd64.deb ... Unpacking libavif16:amd64 (1.3.0-1) ... Selecting previously unselected package libsnappy1v5:amd64. Preparing to unpack .../079-libsnappy1v5_1.2.2-1_amd64.deb ... Unpacking libsnappy1v5:amd64 (1.2.2-1) ... Selecting previously unselected package libblosc1:amd64. Preparing to unpack .../080-libblosc1_1.21.5+ds-1+b2_amd64.deb ... Unpacking libblosc1:amd64 (1.21.5+ds-1+b2) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../081-libbrotli1_1.1.0-2+b7_amd64.deb ... Unpacking libbrotli1:amd64 (1.1.0-2+b7) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../082-libkrb5support0_1.21.3-5_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-5) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../083-libcom-err2_1.47.2-3+b3_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.2-3+b3) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../084-libk5crypto3_1.21.3-5_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../085-libkeyutils1_1.6.3-6_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../086-libkrb5-3_1.21.3-5_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../087-libgssapi-krb5-2_1.21.3-5_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-5) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../088-libnghttp2-14_1.64.0-1.1+b1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.64.0-1.1+b1) ... Selecting previously unselected package libnghttp3-9:amd64. Preparing to unpack .../089-libnghttp3-9_1.8.0-1_amd64.deb ... Unpacking libnghttp3-9:amd64 (1.8.0-1) ... Selecting previously unselected package libngtcp2-16:amd64. Preparing to unpack .../090-libngtcp2-16_1.11.0-1_amd64.deb ... Unpacking libngtcp2-16:amd64 (1.11.0-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:amd64. Preparing to unpack .../091-libngtcp2-crypto-gnutls8_1.11.0-1_amd64.deb ... Unpacking libngtcp2-crypto-gnutls8:amd64 (1.11.0-1) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../092-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../093-librtmp1_2.4+20151223.gitfa8646d.1-3_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-3) ... Selecting previously unselected package libssh2-1t64:amd64. Preparing to unpack .../094-libssh2-1t64_1.11.1-1_amd64.deb ... Unpacking libssh2-1t64:amd64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:amd64. Preparing to unpack .../095-libcurl3t64-gnutls_8.15.0-1_amd64.deb ... Unpacking libcurl3t64-gnutls:amd64 (8.15.0-1) ... Selecting previously unselected package libcfitsio10t64:amd64. Preparing to unpack .../096-libcfitsio10t64_4.6.2-2_amd64.deb ... Unpacking libcfitsio10t64:amd64 (4.6.2-2) ... Selecting previously unselected package libcurl4t64:amd64. Preparing to unpack .../097-libcurl4t64_8.15.0-1_amd64.deb ... Unpacking libcurl4t64:amd64 (8.15.0-1) ... Selecting previously unselected package libde265-0:amd64. Preparing to unpack .../098-libde265-0_1.0.16-1_amd64.deb ... Unpacking libde265-0:amd64 (1.0.16-1) ... Selecting previously unselected package libdeflate0:amd64. Preparing to unpack .../099-libdeflate0_1.23-2_amd64.deb ... Unpacking libdeflate0:amd64 (1.23-2) ... Selecting previously unselected package libpng16-16t64:amd64. Preparing to unpack .../100-libpng16-16t64_1.6.50-1_amd64.deb ... Unpacking libpng16-16t64:amd64 (1.6.50-1) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../101-libfreetype6_2.13.3+dfsg-1_amd64.deb ... Unpacking libfreetype6:amd64 (2.13.3+dfsg-1) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../102-libfontconfig1_2.15.0-2.3_amd64.deb ... Unpacking libfontconfig1:amd64 (2.15.0-2.3) ... Selecting previously unselected package libminizip1t64:amd64. Preparing to unpack .../103-libminizip1t64_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ... Unpacking libminizip1t64:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libfreexl1:amd64. Preparing to unpack .../104-libfreexl1_2.0.0-1+b3_amd64.deb ... Unpacking libfreexl1:amd64 (2.0.0-1+b3) ... Selecting previously unselected package libfyba0t64:amd64. Preparing to unpack .../105-libfyba0t64_4.1.1-11+b1_amd64.deb ... Unpacking libfyba0t64:amd64 (4.1.1-11+b1) ... Selecting previously unselected package libgeos3.14.0:amd64. Preparing to unpack .../106-libgeos3.14.0_3.14.0-1_amd64.deb ... Unpacking libgeos3.14.0:amd64 (3.14.0-1) ... Selecting previously unselected package libgeos-c1t64:amd64. Preparing to unpack .../107-libgeos-c1t64_3.14.0-1_amd64.deb ... Unpacking libgeos-c1t64:amd64 (3.14.0-1) ... Selecting previously unselected package proj-data. Preparing to unpack .../108-proj-data_9.6.2-1_all.deb ... Unpacking proj-data (9.6.2-1) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../109-libjbig0_2.1-6.1+b2_amd64.deb ... Unpacking libjbig0:amd64 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:amd64. Preparing to unpack .../110-liblerc4_4.0.0+ds-5_amd64.deb ... Unpacking liblerc4:amd64 (4.0.0+ds-5) ... Selecting previously unselected package libsharpyuv0:amd64. Preparing to unpack .../111-libsharpyuv0_1.5.0-0.1_amd64.deb ... Unpacking libsharpyuv0:amd64 (1.5.0-0.1) ... Selecting previously unselected package libwebp7:amd64. Preparing to unpack .../112-libwebp7_1.5.0-0.1_amd64.deb ... Unpacking libwebp7:amd64 (1.5.0-0.1) ... Selecting previously unselected package libtiff6:amd64. Preparing to unpack .../113-libtiff6_4.7.0-4_amd64.deb ... Unpacking libtiff6:amd64 (4.7.0-4) ... Selecting previously unselected package libproj25:amd64. Preparing to unpack .../114-libproj25_9.6.2-1_amd64.deb ... Unpacking libproj25:amd64 (9.6.2-1) ... Selecting previously unselected package libgeotiff5:amd64. Preparing to unpack .../115-libgeotiff5_1.7.4-1_amd64.deb ... Unpacking libgeotiff5:amd64 (1.7.4-1) ... Selecting previously unselected package libgif7:amd64. Preparing to unpack .../116-libgif7_5.2.2-1+b1_amd64.deb ... Unpacking libgif7:amd64 (5.2.2-1+b1) ... Selecting previously unselected package libsz2:amd64. Preparing to unpack .../117-libsz2_1.1.4-2_amd64.deb ... Unpacking libsz2:amd64 (1.1.4-2) ... Selecting previously unselected package libhdf4-0:amd64. Preparing to unpack .../118-libhdf4-0_4.3.1-1_amd64.deb ... Unpacking libhdf4-0:amd64 (4.3.1-1) ... Selecting previously unselected package libhdf5-310:amd64. Preparing to unpack .../119-libhdf5-310_1.14.5+repack-3_amd64.deb ... Unpacking libhdf5-310:amd64 (1.14.5+repack-3) ... Selecting previously unselected package libheif-plugin-dav1d:amd64. Preparing to unpack .../120-libheif-plugin-dav1d_1.20.2-2_amd64.deb ... Unpacking libheif-plugin-dav1d:amd64 (1.20.2-2) ... Selecting previously unselected package libheif-plugin-libde265:amd64. Preparing to unpack .../121-libheif-plugin-libde265_1.20.2-2_amd64.deb ... Unpacking libheif-plugin-libde265:amd64 (1.20.2-2) ... Selecting previously unselected package libheif1:amd64. Preparing to unpack .../122-libheif1_1.20.2-2_amd64.deb ... Unpacking libheif1:amd64 (1.20.2-2) ... Selecting previously unselected package libjson-c5:amd64. Preparing to unpack .../123-libjson-c5_0.18+ds-1_amd64.deb ... Unpacking libjson-c5:amd64 (0.18+ds-1) ... Selecting previously unselected package libhwy1t64:amd64. Preparing to unpack .../124-libhwy1t64_1.2.0-2+b2_amd64.deb ... Unpacking libhwy1t64:amd64 (1.2.0-2+b2) ... Selecting previously unselected package liblcms2-2:amd64. Preparing to unpack .../125-liblcms2-2_2.16-2_amd64.deb ... Unpacking liblcms2-2:amd64 (2.16-2) ... Selecting previously unselected package libjxl0.11:amd64. Preparing to unpack .../126-libjxl0.11_0.11.1-4_amd64.deb ... Unpacking libjxl0.11:amd64 (0.11.1-4) ... Selecting previously unselected package liburiparser1:amd64. Preparing to unpack .../127-liburiparser1_0.9.8+dfsg-2_amd64.deb ... Unpacking liburiparser1:amd64 (0.9.8+dfsg-2) ... Selecting previously unselected package libkmlbase1t64:amd64. Preparing to unpack .../128-libkmlbase1t64_1.3.0-12+b2_amd64.deb ... Unpacking libkmlbase1t64:amd64 (1.3.0-12+b2) ... Selecting previously unselected package libkmldom1t64:amd64. Preparing to unpack .../129-libkmldom1t64_1.3.0-12+b2_amd64.deb ... Unpacking libkmldom1t64:amd64 (1.3.0-12+b2) ... Selecting previously unselected package libkmlengine1t64:amd64. Preparing to unpack .../130-libkmlengine1t64_1.3.0-12+b2_amd64.deb ... Unpacking libkmlengine1t64:amd64 (1.3.0-12+b2) ... Selecting previously unselected package mysql-common. Preparing to unpack .../131-mysql-common_5.8+1.1.1_all.deb ... Unpacking mysql-common (5.8+1.1.1) ... Selecting previously unselected package mariadb-common. Preparing to unpack .../132-mariadb-common_1%3a11.8.3-1_all.deb ... Unpacking mariadb-common (1:11.8.3-1) ... Selecting previously unselected package libmariadb3:amd64. Preparing to unpack .../133-libmariadb3_1%3a11.8.3-1+b1_amd64.deb ... Unpacking libmariadb3:amd64 (1:11.8.3-1+b1) ... Selecting previously unselected package libmuparser2v5:amd64. Preparing to unpack .../134-libmuparser2v5_2.3.4-1+b1_amd64.deb ... Unpacking libmuparser2v5:amd64 (2.3.4-1+b1) ... Selecting previously unselected package libhdf5-hl-310:amd64. Preparing to unpack .../135-libhdf5-hl-310_1.14.5+repack-3_amd64.deb ... Unpacking libhdf5-hl-310:amd64 (1.14.5+repack-3) ... Selecting previously unselected package libnetcdf22:amd64. Preparing to unpack .../136-libnetcdf22_1%3a4.9.3-1+b1_amd64.deb ... Unpacking libnetcdf22:amd64 (1:4.9.3-1+b1) ... Selecting previously unselected package libltdl7:amd64. Preparing to unpack .../137-libltdl7_2.5.4-4_amd64.deb ... Unpacking libltdl7:amd64 (2.5.4-4) ... Selecting previously unselected package libodbc2:amd64. Preparing to unpack .../138-libodbc2_2.3.12-2_amd64.deb ... Unpacking libodbc2:amd64 (2.3.12-2) ... Selecting previously unselected package unixodbc-common. Preparing to unpack .../139-unixodbc-common_2.3.12-2_all.deb ... Unpacking unixodbc-common (2.3.12-2) ... Selecting previously unselected package libodbcinst2:amd64. Preparing to unpack .../140-libodbcinst2_2.3.12-2_amd64.deb ... Unpacking libodbcinst2:amd64 (2.3.12-2) ... Selecting previously unselected package libopenjp2-7:amd64. Preparing to unpack .../141-libopenjp2-7_2.5.3-2.1_amd64.deb ... Unpacking libopenjp2-7:amd64 (2.5.3-2.1) ... Selecting previously unselected package libgpgme11t64:amd64. Preparing to unpack .../142-libgpgme11t64_1.24.2-3_amd64.deb ... Unpacking libgpgme11t64:amd64 (1.24.2-3) ... Selecting previously unselected package libgpgmepp6t64:amd64. Preparing to unpack .../143-libgpgmepp6t64_1.24.2-3_amd64.deb ... Unpacking libgpgmepp6t64:amd64 (1.24.2-3) ... Selecting previously unselected package libnspr4:amd64. Preparing to unpack .../144-libnspr4_2%3a4.36-1_amd64.deb ... Unpacking libnspr4:amd64 (2:4.36-1) ... Selecting previously unselected package libnss3:amd64. Preparing to unpack .../145-libnss3_2%3a3.114-1_amd64.deb ... Unpacking libnss3:amd64 (2:3.114-1) ... Selecting previously unselected package libpoppler147:amd64. Preparing to unpack .../146-libpoppler147_25.03.0-6_amd64.deb ... Unpacking libpoppler147:amd64 (25.03.0-6) ... Selecting previously unselected package libpq5:amd64. Preparing to unpack .../147-libpq5_17.6-1_amd64.deb ... Unpacking libpq5:amd64 (17.6-1) ... Selecting previously unselected package libqhull-r8.0:amd64. Preparing to unpack .../148-libqhull-r8.0_2020.2-6+b2_amd64.deb ... Unpacking libqhull-r8.0:amd64 (2020.2-6+b2) ... Selecting previously unselected package librttopo1:amd64. Preparing to unpack .../149-librttopo1_1.1.0-4_amd64.deb ... Unpacking librttopo1:amd64 (1.1.0-4) ... Selecting previously unselected package libspatialite8t64:amd64. Preparing to unpack .../150-libspatialite8t64_5.1.0-3+b4_amd64.deb ... Unpacking libspatialite8t64:amd64 (5.1.0-3+b4) ... Selecting previously unselected package libicu76:amd64. Preparing to unpack .../151-libicu76_76.1-4_amd64.deb ... Unpacking libicu76:amd64 (76.1-4) ... Selecting previously unselected package libxerces-c3.2t64:amd64. Preparing to unpack .../152-libxerces-c3.2t64_3.2.4+debian-1.3+b2_amd64.deb ... Unpacking libxerces-c3.2t64:amd64 (3.2.4+debian-1.3+b2) ... Selecting previously unselected package libgdal37:amd64. Preparing to unpack .../153-libgdal37_3.11.3+dfsg-1_amd64.deb ... Unpacking libgdal37:amd64 (3.11.3+dfsg-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../154-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../155-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../156-libjs-sphinxdoc_8.1.3-5_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-5) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../157-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../158-libyaml-0-2_0.2.5-2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2) ... Selecting previously unselected package node-fortawesome-fontawesome-free. Preparing to unpack .../159-node-fortawesome-fontawesome-free_6.7.2+ds1-1_all.deb ... Unpacking node-fortawesome-fontawesome-free (6.7.2+ds1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../160-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../161-python3-pyproject-hooks_1.2.0-1_all.deb ... Unpacking python3-pyproject-hooks (1.2.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../162-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-build. Preparing to unpack .../163-python3-build_1.2.2-4_all.deb ... Unpacking python3-build (1.2.2-4) ... Selecting previously unselected package python3-installer. Preparing to unpack .../164-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../165-pybuild-plugin-pyproject_6.20250414_all.deb ... Unpacking pybuild-plugin-pyproject (6.20250414) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../166-python-babel-localedata_2.17.0-1_all.deb ... Unpacking python-babel-localedata (2.17.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../167-python3-pygments_2.18.0+dfsg-2_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-2) ... Selecting previously unselected package python3-accessible-pygments. Preparing to unpack .../168-python3-accessible-pygments_0.0.5-2_all.deb ... Unpacking python3-accessible-pygments (0.0.5-2) ... Selecting previously unselected package python3-affine. Preparing to unpack .../169-python3-affine_2.4.0-2_all.deb ... Unpacking python3-affine (2.4.0-2) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../170-python3-alabaster_0.7.16-0.1_all.deb ... Unpacking python3-alabaster (0.7.16-0.1) ... Selecting previously unselected package python3-all. Preparing to unpack .../171-python3-all_3.13.5-1_amd64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3-attr. Preparing to unpack .../172-python3-attr_25.3.0-1_all.deb ... Unpacking python3-attr (25.3.0-1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../173-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-babel. Preparing to unpack .../174-python3-babel_2.17.0-1_all.deb ... Unpacking python3-babel (2.17.0-1) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../175-python3-soupsieve_2.7-2_all.deb ... Unpacking python3-soupsieve (2.7-2) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../176-python3-typing-extensions_4.14.1-1_all.deb ... Unpacking python3-typing-extensions (4.14.1-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../177-python3-bs4_4.13.4-4_all.deb ... Unpacking python3-bs4 (4.13.4-4) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../178-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-cftime. Preparing to unpack .../179-python3-cftime_1.6.4-2_amd64.deb ... Unpacking python3-cftime (1.6.4-2) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../180-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../181-python3-charset-normalizer_3.4.3-1_amd64.deb ... Unpacking python3-charset-normalizer (3.4.3-1) ... Selecting previously unselected package python3-click. Preparing to unpack .../182-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... Selecting previously unselected package python3-cligj. Preparing to unpack .../183-python3-cligj_0.7.2-3_all.deb ... Unpacking python3-cligj (0.7.2-3) ... Selecting previously unselected package python3-cloudpickle. Preparing to unpack .../184-python3-cloudpickle_3.1.1-1_all.deb ... Unpacking python3-cloudpickle (3.1.1-1) ... Selecting previously unselected package python3-crc32c. Preparing to unpack .../185-python3-crc32c_2.7.1-1_amd64.deb ... Unpacking python3-crc32c (2.7.1-1) ... Selecting previously unselected package python3-fsspec. Preparing to unpack .../186-python3-fsspec_2025.7.0-1_all.deb ... Unpacking python3-fsspec (2025.7.0-1) ... Selecting previously unselected package python3-toolz. Preparing to unpack .../187-python3-toolz_1.0.0-2_all.deb ... Unpacking python3-toolz (1.0.0-2) ... Selecting previously unselected package python3-locket. Preparing to unpack .../188-python3-locket_1.0.0-2_all.deb ... Unpacking python3-locket (1.0.0-2) ... Selecting previously unselected package python3-partd. Preparing to unpack .../189-python3-partd_1.4.2-1_all.deb ... Unpacking python3-partd (1.4.2-1) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../190-python3-yaml_6.0.2-2_amd64.deb ... Unpacking python3-yaml (6.0.2-2) ... Selecting previously unselected package python3-dask. Preparing to unpack .../191-python3-dask_2024.12.1+dfsg-2_all.deb ... Unpacking python3-dask (2024.12.1+dfsg-2) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../192-python3-dateutil_2.9.0-4_all.deb ... Unpacking python3-dateutil (2.9.0-4) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../193-python3-decorator_5.2.1-2_all.deb ... Unpacking python3-decorator (5.2.1-2) ... Selecting previously unselected package python3-defusedxml. Preparing to unpack .../194-python3-defusedxml_0.7.1-3_all.deb ... Unpacking python3-defusedxml (0.7.1-3) ... Selecting previously unselected package python3-roman. Preparing to unpack .../195-python3-roman_5.1-1_all.deb ... Unpacking python3-roman (5.1-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../196-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-donfig. Preparing to unpack .../197-python3-donfig_0.8.1+dfsg-3_all.deb ... Unpacking python3-donfig (0.8.1+dfsg-3) ... Selecting previously unselected package python3-elementpath. Preparing to unpack .../198-python3-elementpath_5.0.4-1_all.deb ... Unpacking python3-elementpath (5.0.4-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../199-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../200-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../201-python3-more-itertools_10.7.0-1_all.deb ... Unpacking python3-more-itertools (10.7.0-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../202-python3-typeguard_4.4.4-1_all.deb ... Unpacking python3-typeguard (4.4.4-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../203-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../204-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../205-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../206-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../207-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../208-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../209-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../210-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../211-python3-markupsafe_2.1.5-1+b3_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1+b3) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../212-python3-jinja2_3.1.6-1_all.deb ... Unpacking python3-jinja2 (3.1.6-1) ... Selecting previously unselected package python3-netcdf4. Preparing to unpack .../213-python3-netcdf4_1.7.2-1+b4_amd64.deb ... Unpacking python3-netcdf4 (1.7.2-1+b4) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../214-sphinx-common_8.1.3-5_all.deb ... Unpacking sphinx-common (8.1.3-5) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../215-python3-urllib3_2.5.0-1_all.deb ... Unpacking python3-urllib3 (2.5.0-1) ... Selecting previously unselected package python3-requests. Preparing to unpack .../216-python3-requests_2.32.4+dfsg-1_all.deb ... Unpacking python3-requests (2.32.4+dfsg-1) ... Selecting previously unselected package python3-snowballstemmer. Preparing to unpack .../217-python3-snowballstemmer_3.0.1-1_all.deb ... Unpacking python3-snowballstemmer (3.0.1-1) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../218-python3-sphinx_8.1.3-5_all.deb ... Unpacking python3-sphinx (8.1.3-5) ... Selecting previously unselected package python3-pydata-sphinx-theme. Preparing to unpack .../219-python3-pydata-sphinx-theme_0.16.1+dfsg-3_all.deb ... Unpacking python3-pydata-sphinx-theme (0.16.1+dfsg-3) ... Selecting previously unselected package python3-numcodecs. Preparing to unpack .../220-python3-numcodecs_0.16.2+ds-2_amd64.deb ... Unpacking python3-numcodecs (0.16.2+ds-2) ... Selecting previously unselected package python3-pytz. Preparing to unpack .../221-python3-pytz_2025.2-3_all.deb ... Unpacking python3-pytz (2025.2-3) ... Selecting previously unselected package python3-pandas-lib:amd64. Preparing to unpack .../222-python3-pandas-lib_2.2.3+dfsg-9_amd64.deb ... Unpacking python3-pandas-lib:amd64 (2.2.3+dfsg-9) ... Selecting previously unselected package python3-pandas. Preparing to unpack .../223-python3-pandas_2.2.3+dfsg-9_all.deb ... Unpacking python3-pandas (2.2.3+dfsg-9) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../224-python3-pluggy_1.6.0-1_all.deb ... Unpacking python3-pluggy (1.6.0-1) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../225-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pyproj. Preparing to unpack .../226-python3-pyproj_3.7.2-1_amd64.deb ... Unpacking python3-pyproj (3.7.2-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../227-python3-pytest_8.3.5-2_all.deb ... Unpacking python3-pytest (8.3.5-2) ... Selecting previously unselected package python3-rasterio. Preparing to unpack .../228-python3-rasterio_1.4.3-3+b1_amd64.deb ... Unpacking python3-rasterio (1.4.3-3+b1) ... Selecting previously unselected package python3-xarray. Preparing to unpack .../229-python3-xarray_2025.03.1-8_all.deb ... Unpacking python3-xarray (2025.03.1-8) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../230-python3-scipy_1.15.3-1_amd64.deb ... Unpacking python3-scipy (1.15.3-1) ... Selecting previously unselected package python3-rioxarray. Preparing to unpack .../231-python3-rioxarray_0.19.0-1_all.deb ... Unpacking python3-rioxarray (0.19.0-1) ... Selecting previously unselected package python3-setuptools-scm. Preparing to unpack .../232-python3-setuptools-scm_8.2.1-2_all.deb ... Unpacking python3-setuptools-scm (8.2.1-2) ... Selecting previously unselected package python3-shapely. Preparing to unpack .../233-python3-shapely_2.1.1-3_amd64.deb ... Unpacking python3-shapely (2.1.1-3) ... Selecting previously unselected package python3-sphinx-copybutton. Preparing to unpack .../234-python3-sphinx-copybutton_0.5.2-3_all.deb ... Unpacking python3-sphinx-copybutton (0.5.2-3) ... Selecting previously unselected package python3-xmlschema. Preparing to unpack .../235-python3-xmlschema_4.1.0-1_all.deb ... Unpacking python3-xmlschema (4.1.0-1) ... Selecting previously unselected package python3-zarr. Preparing to unpack .../236-python3-zarr_3.0.6-2_all.deb ... Unpacking python3-zarr (3.0.6-2) ... Setting up libhwy1t64:amd64 (1.2.0-2+b2) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up liblcms2-2:amd64 (2.16-2) ... Setting up libsharpyuv0:amd64 (1.5.0-0.1) ... Setting up libaom3:amd64 (3.12.1-1) ... Setting up mysql-common (5.8+1.1.1) ... update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up libnpth0t64:amd64 (1.8-3) ... Setting up libkeyutils1:amd64 (1.6.3-6) ... Setting up liblerc4:amd64 (4.0.0+ds-5) ... Setting up proj-data (9.6.2-1) ... Setting up bsdextrautils (2.41.1-1) ... Setting up libgpg-error0:amd64 (1.55-2) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2) ... Setting up libxml2-16:amd64 (2.14.5+dfsg-0.2) ... Setting up libdebhelper-perl (13.26) ... Setting up libbrotli1:amd64 (1.1.0-2+b7) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up libnghttp2-14:amd64 (1.64.0-1.1+b1) ... Setting up libdeflate0:amd64 (1.23-2) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.19-8) ... Setting up libgcrypt20:amd64 (1.11.2-2) ... Setting up libqhull-r8.0:amd64 (2020.2-6+b2) ... Setting up libcom-err2:amd64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up node-fortawesome-fontawesome-free (6.7.2+ds1-1) ... Setting up libabsl20240722:amd64 (20240722.0-4) ... Setting up libjbig0:amd64 (2.1-6.1+b2) ... Setting up libaec0:amd64 (1.1.4-2) ... Setting up gdal-data (3.11.3+dfsg-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up python-babel-localedata (2.17.0-1) ... Setting up libsnappy1v5:amd64 (1.2.2-1) ... Setting up libkrb5support0:amd64 (1.21.3-5) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-9) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Sep 1 06:28:22 UTC 2025. Universal Time is now: Mon Sep 1 06:28:22 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up mariadb-common (1:11.8.3-1) ... update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up autotools-dev (20240727.1) ... Setting up libblas3:amd64 (3.12.1-6) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode Setting up libjpeg62-turbo:amd64 (1:2.1.5-4) ... Setting up libsvtav1enc2:amd64 (2.3.0+dfsg-1) ... Setting up libnspr4:amd64 (2:4.36-1) ... Setting up gnupg-l10n (2.4.8-3) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libpng16-16t64:amd64 (1.6.50-1) ... Setting up python3-numpy-dev:amd64 (1:2.2.4+ds-1) ... Setting up autopoint (0.23.1-2) ... Setting up libmariadb3:amd64 (1:11.8.3-1+b1) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up unixodbc-common (2.3.12-2) ... Setting up libgav1-1:amd64 (0.19.0-3+b1) ... Setting up libgeos3.14.0:amd64 (3.14.0-1) ... Setting up libk5crypto3:amd64 (1.21.3-5) ... Setting up libltdl7:amd64 (2.5.4-4) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg1-9) ... Setting up libgfortran5:amd64 (15.2.0-1) ... Setting up autoconf (2.72-3.1) ... Setting up libnghttp3-9:amd64 (1.8.0-1) ... Setting up libwebp7:amd64 (1.5.0-0.1) ... Setting up libgif7:amd64 (5.2.2-1+b1) ... Setting up libodbc2:amd64 (2.3.12-2) ... Setting up liburiparser1:amd64 (0.9.8+dfsg-2) ... Setting up libffi8:amd64 (3.4.8-2) ... Setting up libfyba0t64:amd64 (4.1.1-11+b1) ... Setting up dwz (0.15-1+b1) ... Setting up libdav1d7:amd64 (1.5.1-1) ... Setting up sensible-utils (0.0.26) ... Setting up libminizip1t64:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libtiff6:amd64 (4.7.0-4) ... Setting up librav1e0.7:amd64 (0.7.1-9+b2) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libassuan9:amd64 (3.0.2-2) ... Setting up libjson-perl (4.10000-1) ... Setting up libblosc1:amd64 (1.21.5+ds-1+b2) ... Setting up libtasn1-6:amd64 (4.20.0-2) ... Setting up libopenjp2-7:amd64 (2.5.3-2.1) ... Setting up netbase (6.5) ... Setting up libngtcp2-16:amd64 (1.11.0-1) ... Setting up sgml-base (1.31+nmu1) ... Setting up libkrb5-3:amd64 (1.21.3-5) ... Setting up libicu76:amd64 (76.1-4) ... Setting up libssh2-1t64:amd64 (1.11.1-1) ... Setting up libmuparser2v5:amd64 (2.3.4-1+b1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libde265-0:amd64 (1.0.16-1) ... Setting up libkmlbase1t64:amd64 (1.3.0-12+b2) ... Setting up openssl (3.5.2-1) ... Setting up libyuv0:amd64 (0.0.1916.20250814-1) ... Setting up libarchive13t64:amd64 (3.7.4-4+b1) ... Setting up libjxl0.11:amd64 (0.11.1-4) ... Setting up libjson-c5:amd64 (0.18+ds-1) ... Setting up readline-common (8.2-6) ... Setting up libldap2:amd64 (2.6.10+dfsg-1) ... Setting up libsz2:amd64 (1.1.4-2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up gdal-plugins:amd64 (3.11.3+dfsg-1) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libksba8:amd64 (1.6.7-2+b1) ... Setting up pinentry-curses (1.3.2-3) ... Setting up libfile-stripnondeterminism-perl (1.14.2-1) ... Setting up libodbcinst2:amd64 (2.3.12-2) ... Setting up libavif16:amd64 (1.3.0-1) ... Setting up liblapack3:amd64 (3.12.1-6) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode Setting up gettext (0.23.1-2+b1) ... Setting up libarpack2t64:amd64 (3.9.1-6) ... Setting up libtool (2.5.4-4) ... Setting up fontconfig-config (2.15.0-2.3) ... Setting up libgeos-c1t64:amd64 (3.14.0-1) ... Setting up libidn2-0:amd64 (2.3.8-4) ... Setting up libnss3:amd64 (2:3.114-1) ... Setting up libhdf4-0:amd64 (4.3.1-1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libkmldom1t64:amd64 (1.3.0-12+b2) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libfreetype6:amd64 (2.13.3+dfsg-1) ... Setting up libp11-kit0:amd64 (0.25.5-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-5) ... Setting up libjs-sphinxdoc (8.1.3-5) ... Setting up libreadline8t64:amd64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.2-1) ... Setting up librttopo1:amd64 (1.1.0-4) ... Setting up libfreexl1:amd64 (2.0.0-1+b3) ... Setting up groff-base (1.23.0-9) ... Setting up xml-core (0.19) ... Setting up gpgconf (2.4.8-3) ... Setting up libarmadillo14 (1:14.2.3+dfsg-1+b1) ... Setting up libfontconfig1:amd64 (2.15.0-2.3) ... Setting up libpython3.13-stdlib:amd64 (3.13.7-1) ... Setting up gpg (2.4.8-3) ... Setting up libpython3-stdlib:amd64 (3.13.5-1) ... Setting up libgnutls30t64:amd64 (3.8.9-3) ... Setting up gpg-agent (2.4.8-3) ... Setting up python3.13 (3.13.7-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up gpgsm (2.4.8-3) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up libpq5:amd64 (17.6-1) ... Setting up python3 (3.13.5-1) ... Setting up libkmlengine1t64:amd64 (1.3.0-12+b2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-click (8.2.0+0.really.8.1.8-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-markupsafe (2.1.5-1+b3) ... Setting up python3-cloudpickle (3.1.1-1) ... Setting up dirmngr (2.4.8-3) ... Setting up python3-roman (5.1-1) ... Setting up python3-decorator (5.2.1-2) ... Setting up python3-jinja2 (3.1.6-1) ... Setting up python3-pygments (2.18.0+dfsg-2) ... Setting up python3-packaging (25.0-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-pyproject-hooks (1.2.0-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-accessible-pygments (0.0.5-2) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-3) ... Setting up python3-snowballstemmer (3.0.1-1) ... Setting up sphinx-common (8.1.3-5) ... Setting up python3-idna (3.10-1) ... Setting up python3-elementpath (5.0.4-1) ... Setting up python3-typing-extensions (4.14.1-1) ... Setting up python3-numpy (1:2.2.4+ds-1) ... Setting up python3-xmlschema (4.1.0-1) ... Setting up python3-crc32c (2.7.1-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-urllib3 (2.5.0-1) ... Setting up python3-pluggy (1.6.0-1) ... Setting up gnupg (2.4.8-3) ... Setting up python3-toolz (1.0.0-2) ... Setting up python3-dateutil (2.9.0-4) ... Setting up libgpgme11t64:amd64 (1.24.2-3) ... Setting up python3-affine (2.4.0-2) ... Setting up python3-locket (1.0.0-2) ... Setting up python3-soupsieve (2.7-2) ... Setting up libngtcp2-crypto-gnutls8:amd64 (1.11.0-1) ... Setting up python3-imagesize (1.4.1-1) ... Setting up dh-python (6.20250414) ... Setting up python3-partd (1.4.2-1) ... Setting up python3-more-itertools (10.7.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-attr (25.3.0-1) ... Setting up libgpgmepp6t64:amd64 (1.24.2-3) ... Setting up python3-shapely (2.1.1-3) ... Setting up python3-scipy (1.15.3-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up libcurl4t64:amd64 (8.15.0-1) ... Setting up python3-babel (2.17.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-defusedxml (0.7.1-3) ... Setting up python3-charset-normalizer (3.4.3-1) ... Setting up python3-pytest (8.3.5-2) ... Setting up python3-alabaster (0.7.16-0.1) ... Setting up python3-cligj (0.7.2-3) ... Setting up python3-pandas-lib:amd64 (2.2.3+dfsg-9) ... Setting up python3-fsspec (2025.7.0-1) ... Setting up python3-typeguard (4.4.4-1) ... Setting up libcurl3t64-gnutls:amd64 (8.15.0-1) ... Setting up python3-all (3.13.5-1) ... Setting up python3-yaml (6.0.2-2) ... Setting up debhelper (13.26) ... Setting up python3-pytz (2025.2-3) ... Setting up libxerces-c3.2t64:amd64 (3.2.4+debian-1.3+b2) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-bs4 (4.13.4-4) ... Setting up python3-inflect (7.3.1-2) ... Setting up libcfitsio10t64:amd64 (4.6.2-2) ... Setting up python3-pandas (2.2.3+dfsg-9) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-requests (2.32.4+dfsg-1) ... Setting up python3-cftime (1.6.4-2) ... Setting up libhdf5-310:amd64 (1.14.5+repack-3) ... Setting up python3-donfig (0.8.1+dfsg-3) ... Setting up python3-build (1.2.2-4) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up libhdf5-hl-310:amd64 (1.14.5+repack-3) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up libpoppler147:amd64 (25.03.0-6) ... Setting up libproj25:amd64 (9.6.2-1) ... Setting up pybuild-plugin-pyproject (6.20250414) ... Setting up python3-xarray (2025.03.1-8) ... Setting up libnetcdf22:amd64 (1:4.9.3-1+b1) ... Setting up python3-dask (2024.12.1+dfsg-2) ... Setting up python3-pyproj (3.7.2-1) ... Setting up python3-setuptools-scm (8.2.1-2) ... Setting up libgeotiff5:amd64 (1.7.4-1) ... Setting up python3-netcdf4 (1.7.2-1+b4) ... Setting up libspatialite8t64:amd64 (5.1.0-3+b4) ... Setting up libheif-plugin-dav1d:amd64 (1.20.2-2) ... Setting up libheif-plugin-libde265:amd64 (1.20.2-2) ... Setting up libheif1:amd64 (1.20.2-2) ... Setting up libgdal37:amd64 (3.11.3+dfsg-1) ... Setting up python3-rasterio (1.4.3-3+b1) ... Setting up python3-rioxarray (0.19.0-1) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-sphinx (8.1.3-5) ... Setting up python3-sphinx-copybutton (0.5.2-3) ... Setting up python3-pydata-sphinx-theme (0.16.1+dfsg-3) ... Setting up python3-numcodecs (0.16.2+ds-2) ... Setting up python3-zarr (3.0.6-2) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/xarray-sentinel-0.9.5+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../xarray-sentinel_0.9.5+ds-4_source.changes dpkg-buildpackage: info: source package xarray-sentinel dpkg-buildpackage: info: source version 0.9.5+ds-4 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Antonio Valentino dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/xarray-sentinel-0.9.5+ds/.pybuild/cpython3_3.13_xarray-sentinel * Building wheel... /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_py creating build/lib/xarray_sentinel copying xarray_sentinel/sentinel1.py -> build/lib/xarray_sentinel copying xarray_sentinel/__init__.py -> build/lib/xarray_sentinel copying xarray_sentinel/esa_safe.py -> build/lib/xarray_sentinel copying xarray_sentinel/reformat.py -> build/lib/xarray_sentinel copying xarray_sentinel/xarray_backends.py -> build/lib/xarray_sentinel copying xarray_sentinel/version.py -> build/lib/xarray_sentinel copying xarray_sentinel/conventions.py -> build/lib/xarray_sentinel running egg_info creating xarray_sentinel.egg-info writing xarray_sentinel.egg-info/PKG-INFO writing dependency_links to xarray_sentinel.egg-info/dependency_links.txt writing entry points to xarray_sentinel.egg-info/entry_points.txt writing requirements to xarray_sentinel.egg-info/requires.txt writing top-level names to xarray_sentinel.egg-info/top_level.txt writing manifest file 'xarray_sentinel.egg-info/SOURCES.txt' reading manifest file 'xarray_sentinel.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'xarray_sentinel.egg-info/SOURCES.txt' /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'xarray_sentinel.resources.sentinel1' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'xarray_sentinel.resources.sentinel1' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'xarray_sentinel.resources.sentinel1' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'xarray_sentinel.resources.sentinel1' to be distributed and are already explicitly excluding 'xarray_sentinel.resources.sentinel1' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) copying xarray_sentinel/py.typed -> build/lib/xarray_sentinel creating build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-gml.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-no-namespace.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0-sentinel-1-sar-level-1.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0-sentinel-1.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-schema_orb.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/my-xfdu.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/s1-level-1-calibration.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/s1-level-1-noise.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/s1-level-1-product.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/s1-level-1-rfi.xsd -> build/lib/xarray_sentinel/resources/sentinel1 copying xarray_sentinel/resources/sentinel1/s1-object-types.xsd -> build/lib/xarray_sentinel/resources/sentinel1 installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/xarray_sentinel copying build/lib/xarray_sentinel/sentinel1.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel copying build/lib/xarray_sentinel/__init__.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel creating build/bdist.linux-x86_64/wheel/xarray_sentinel/resources creating build/bdist.linux-x86_64/wheel/xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-xfdu.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-no-namespace.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/s1-object-types.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0-sentinel-1.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/s1-level-1-calibration.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-gml.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/s1-level-1-rfi.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-schema_orb.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0-sentinel-1-sar-level-1.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/s1-level-1-noise.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/resources/sentinel1/s1-level-1-product.xsd -> build/bdist.linux-x86_64/wheel/./xarray_sentinel/resources/sentinel1 copying build/lib/xarray_sentinel/esa_safe.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel copying build/lib/xarray_sentinel/reformat.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel copying build/lib/xarray_sentinel/py.typed -> build/bdist.linux-x86_64/wheel/./xarray_sentinel copying build/lib/xarray_sentinel/xarray_backends.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel copying build/lib/xarray_sentinel/version.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel copying build/lib/xarray_sentinel/conventions.py -> build/bdist.linux-x86_64/wheel/./xarray_sentinel running install_egg_info Copying xarray_sentinel.egg-info to build/bdist.linux-x86_64/wheel/./xarray_sentinel-0.9.5.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/xarray_sentinel-0.9.5.dist-info/WHEEL creating '/build/reproducible-path/xarray-sentinel-0.9.5+ds/.pybuild/cpython3_3.13_xarray-sentinel/.tmp-uwb7rxv5/xarray_sentinel-0.9.5-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'xarray_sentinel/__init__.py' adding 'xarray_sentinel/conventions.py' adding 'xarray_sentinel/esa_safe.py' adding 'xarray_sentinel/py.typed' adding 'xarray_sentinel/reformat.py' adding 'xarray_sentinel/sentinel1.py' adding 'xarray_sentinel/version.py' adding 'xarray_sentinel/xarray_backends.py' adding 'xarray_sentinel/resources/sentinel1/my-gml.xsd' adding 'xarray_sentinel/resources/sentinel1/my-no-namespace.xsd' adding 'xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0-sentinel-1-sar-level-1.xsd' adding 'xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0-sentinel-1.xsd' adding 'xarray_sentinel/resources/sentinel1/my-safe-sentinel-1.0.xsd' adding 'xarray_sentinel/resources/sentinel1/my-schema_orb.xsd' adding 'xarray_sentinel/resources/sentinel1/my-xfdu.xsd' adding 'xarray_sentinel/resources/sentinel1/s1-level-1-calibration.xsd' adding 'xarray_sentinel/resources/sentinel1/s1-level-1-noise.xsd' adding 'xarray_sentinel/resources/sentinel1/s1-level-1-product.xsd' adding 'xarray_sentinel/resources/sentinel1/s1-level-1-rfi.xsd' adding 'xarray_sentinel/resources/sentinel1/s1-object-types.xsd' adding 'xarray_sentinel-0.9.5.dist-info/licenses/LICENSE' adding 'xarray_sentinel-0.9.5.dist-info/METADATA' adding 'xarray_sentinel-0.9.5.dist-info/WHEEL' adding 'xarray_sentinel-0.9.5.dist-info/entry_points.txt' adding 'xarray_sentinel-0.9.5.dist-info/top_level.txt' adding 'xarray_sentinel-0.9.5.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built xarray_sentinel-0.9.5-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/xarray-sentinel-0.9.5+ds/.pybuild/cpython3_3.13_xarray-sentinel/build; python3.13 -m pytest -k "not test_mosaic_slc_iw and not test_to_group_netcdf and not test_open_dataset_zip_data and not test_to_group_zarr" /build/reproducible-path/xarray-sentinel-0.9.5+ds/tests ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.3.5, pluggy-1.6.0 rootdir: /build/reproducible-path/xarray-sentinel-0.9.5+ds configfile: pyproject.toml plugins: typeguard-4.4.4 collected 68 items / 4 deselected / 64 selected ../../../tests/test_10_esa_safe.py .FF.......... [ 20%] ../../../tests/test_20_sentinel1.py ..FFFFFF.FFFFF.FFFFFFFF. [ 57%] ../../../tests/test_30_sentinel1_fsspec.py xF [ 60%] ../../../tests/test_30_xarray_backends.py .FFFFFFFF....FFFFFFFFFFF [ 98%] ../../../tests/test_35_xarray_backends_dask.py F [100%] =================================== FAILURES =================================== ________________________________ test_parse_tag ________________________________ def test_parse_tag() -> None: expected = { "timelinessCategory", "platformHeading", "radarFrequency", "rangeSamplingRate", "projection", "pass", "azimuthSteeringRate", } > res = esa_safe.parse_tag(ANNOTATION_PATH, ".//productInformation") ../../../tests/test_10_esa_safe.py:124: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xml_path = '/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE/annotation/s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml' query = './/productInformation', schema_type = 'annotation', validation = 'skip' def parse_tag( xml_path: PathOrFileType, query: str, schema_type: str = "annotation", validation: str = "skip", ) -> Dict[str, Any]: schema = cached_sentinel1_schemas(schema_type) if hasattr(xml_path, "seek"): xml_path.seek(0) xml_tree = ElementTree.parse(xml_path) tag_dict: Any = schema.decode(xml_tree, query, validation=validation) > assert isinstance(tag_dict, dict), f"{type(tag_dict)} is not dict" E AssertionError: is not dict xarray_sentinel/esa_safe.py:50: AssertionError ____________________________ test_parse_tag_as_list ____________________________ def test_parse_tag_as_list() -> None: expected = { "azimuthTime", "firstValidSample", "sensingTime", "lastValidSample", "byteOffset", "azimuthAnxTime", } res = esa_safe.parse_tag_as_list(ANNOTATION_PATH, ".//burst") assert isinstance(res, list) > assert set(res[0]) == expected E IndexError: list index out of range ../../../tests/test_10_esa_safe.py:143: IndexError ________________________ test_open_calibration_dataset _________________________ def test_open_calibration_dataset() -> None: > res = sentinel1.open_calibration_dataset(SLC_IW1_VV_calibration) ../../../tests/test_20_sentinel1.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ calibration = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T0526...297_EFA4.SAFE/annotation/calibration/calibration-s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml') attrs = {} def open_calibration_dataset( calibration: esa_safe.PathType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: calibration_vectors = esa_safe.parse_tag_as_list( calibration, ".//calibrationVector", "calibration" ) azimuth_time_list = [] pixel_list = [] line_list = [] sigmaNought_list = [] betaNought_list = [] gamma_list = [] dn_list = [] for vector in calibration_vectors: azimuth_time_list.append(vector["azimuthTime"]) line_list.append(vector["line"]) pixel = np.fromstring(vector["pixel"]["$"], dtype=int, sep=" ") pixel_list.append(pixel) sigmaNought = np.fromstring( vector["sigmaNought"]["$"], dtype=np.float32, sep=" " ) sigmaNought_list.append(sigmaNought) betaNought = np.fromstring(vector["betaNought"]["$"], dtype=np.float32, sep=" ") betaNought_list.append(betaNought) gamma = np.fromstring(vector["gamma"]["$"], dtype=np.float32, sep=" ") gamma_list.append(gamma) dn = np.fromstring(vector["dn"]["$"], dtype=np.float32, sep=" ") dn_list.append(dn) pixel = np.array(pixel_list) > if (pixel - pixel[0]).any(): E IndexError: index 0 is out of bounds for axis 0 with size 0 xarray_sentinel/sentinel1.py:103: IndexError ________________________ test_open_noise_range_dataset _________________________ def test_open_noise_range_dataset() -> None: > res = sentinel1.open_noise_range_dataset(SLC_IW1_VV_noise) ../../../tests/test_20_sentinel1.py:105: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ noise = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T0526...69_032297_EFA4.SAFE/annotation/calibration/noise-s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml') attrs = {} def open_noise_range_dataset( noise: esa_safe.PathType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: noise_vectors = esa_safe.parse_tag_as_list(noise, ".//noiseRangeVector", "noise") azimuth_time_list = [] pixel_list = [] line_list = [] noiseRangeLut_list = [] for vector in noise_vectors: azimuth_time_list.append(vector["azimuthTime"]) line_list.append(vector["line"]) pixel = np.fromstring(vector["pixel"]["$"], dtype=int, sep=" ") pixel_list.append(pixel) noiseRangeLut = np.fromstring( vector["noiseRangeLut"]["$"], dtype=np.float32, sep=" " ) noiseRangeLut_list.append(noiseRangeLut) pixel = np.array(pixel_list) > if (pixel - pixel[0]).any(): E IndexError: index 0 is out of bounds for axis 0 with size 0 xarray_sentinel/sentinel1.py:139: IndexError _______________________ test_open_noise_azimuth_dataset ________________________ def test_open_noise_azimuth_dataset() -> None: res = sentinel1.open_noise_azimuth_dataset(SLC_IW1_VV_noise) assert isinstance(res, xr.Dataset) > assert set(res.coords) == {"line"} E AssertionError: assert set() == {'line'} E E Extra items in the right set: E 'line' E Use -v to get more diff ../../../tests/test_20_sentinel1.py:115: AssertionError ___________________ test_open_coordinate_conversion_dataset ____________________ def test_open_coordinate_conversion_dataset() -> None: > res = sentinel1.open_coordinate_conversion_dataset(GRD_IW_VV_annotation) ../../../tests/test_20_sentinel1.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_GRDH_1SDV_20210401T052623_20210401T052648_026269_032297_ECC8.SAFE/annotation/s1b-iw-grd-vv-20210401t052623-20210401t052648-026269-032297-001.xml') attrs = {} def open_coordinate_conversion_dataset( annotation_path: esa_safe.PathType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: coordinate_conversion = esa_safe.parse_tag_as_list( annotation_path, ".//coordinateConversionList/coordinateConversion" ) if len(coordinate_conversion) == 0: > raise TypeError("coordinateConversion tag not present in annotations") E TypeError: coordinateConversion tag not present in annotations xarray_sentinel/sentinel1.py:186: TypeError ____________________________ test_open_gcp_dataset _____________________________ def test_open_gcp_dataset() -> None: expected_geospatial_bounds = ( "POLYGON((11.26870151724317 47.24053130234206," "10.876144717121 45.73265733767158,12.04397933341514 45.57910451206848," "12.42647347821595 47.09200435560957,11.26870151724317 47.24053130234206))" ) expected_polygon = shapely.wkt.loads(expected_geospatial_bounds) expected_geospatial_bbox = ( 10.876144717121, 45.57910451206848, 12.42647347821595, 47.24053130234206, ) > res = sentinel1.open_gcp_dataset(SLC_IW1_VV_annotation) ../../../tests/test_20_sentinel1.py:142: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ________________________ test_get_footprint_linestring _________________________ def test_get_footprint_linestring() -> None: > gcp_ds = sentinel1.open_gcp_dataset(SLC_IW1_VV_annotation) ../../../tests/test_20_sentinel1.py:160: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________________________ test_open_orbit_dataset ____________________________ def test_open_orbit_dataset() -> None: > res = sentinel1.open_orbit_dataset(SLC_IW1_VV_annotation) ../../../tests/test_20_sentinel1.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE/annotation/s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml') attrs = {} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError ________________________ test_open_dc_estimate_dataset _________________________ def test_open_dc_estimate_dataset() -> None: > res = sentinel1.open_dc_estimate_dataset(SLC_IW1_VV_annotation) ../../../tests/test_20_sentinel1.py:202: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE/annotation/s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml') attrs = {} def open_dc_estimate_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: dc_estimates = esa_safe.parse_tag_as_list(annotation, ".//dcEstimate") azimuth_time = [] t0 = [] data_dc_poly = [] for dc_estimate in dc_estimates: azimuth_time.append(dc_estimate["azimuthTime"]) t0.append(dc_estimate["t0"]) data_dc_poly.append( [float(c) for c in dc_estimate["dataDcPolynomial"]["$"].split()] ) ds = xr.Dataset( data_vars={ "t0": ("azimuth_time", t0, attrs), "data_dc_polynomial": (("azimuth_time", "degree"), data_dc_poly, attrs), }, coords={ "azimuth_time": [np.datetime64(at) for at in azimuth_time], > "degree": list(range(len(data_dc_poly[0]))), }, attrs=attrs, ) E IndexError: list index out of range xarray_sentinel/sentinel1.py:430: IndexError ______________________ test_open_azimuth_fm_rate_dataset _______________________ def test_open_azimuth_fm_rate_dataset() -> None: > res = sentinel1.open_azimuth_fm_rate_dataset(SLC_IW1_VV_annotation) ../../../tests/test_20_sentinel1.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE/annotation/s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml') attrs = {} def open_azimuth_fm_rate_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: azimuth_fm_rates = esa_safe.parse_tag_as_list(annotation, ".//azimuthFmRate") azimuth_time = [] t0 = [] azimuth_fm_rate_poly = [] for azimuth_fm_rate in azimuth_fm_rates: azimuth_time.append(azimuth_fm_rate["azimuthTime"]) t0.append(azimuth_fm_rate["t0"]) azimuth_fm_rate_poly.append( [float(c) for c in azimuth_fm_rate["azimuthFmRatePolynomial"]["$"].split()] ) ds = xr.Dataset( data_vars={ "t0": ( "azimuth_time", t0, attrs, ), "azimuth_fm_rate_polynomial": ( ("azimuth_time", "degree"), azimuth_fm_rate_poly, attrs, ), }, coords={ "azimuth_time": [np.datetime64(at) for at in azimuth_time], > "degree": list(range(len(azimuth_fm_rate_poly[0]))), }, attrs=attrs, ) E IndexError: list index out of range xarray_sentinel/sentinel1.py:467: IndexError ___________________________ test_open_pol_dataset_iw ___________________________ def test_open_pol_dataset_iw() -> None: > res = sentinel1.open_pol_dataset(SLC_IW1_VV_measurement, SLC_IW1_VV_annotation) ../../../tests/test_20_sentinel1.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:555: in open_pol_dataset product_information = esa_safe.parse_tag(annotation, ".//productInformation") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xml_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE/annotation/s1b-iw1-slc-vv-20210401t052624-20210401t052649-026269-032297-004.xml') query = './/productInformation', schema_type = 'annotation', validation = 'skip' def parse_tag( xml_path: PathOrFileType, query: str, schema_type: str = "annotation", validation: str = "skip", ) -> Dict[str, Any]: schema = cached_sentinel1_schemas(schema_type) if hasattr(xml_path, "seek"): xml_path.seek(0) xml_tree = ElementTree.parse(xml_path) tag_dict: Any = schema.decode(xml_tree, query, validation=validation) > assert isinstance(tag_dict, dict), f"{type(tag_dict)} is not dict" E AssertionError: is not dict xarray_sentinel/esa_safe.py:50: AssertionError ___________________________ test_open_pol_dataset_sm ___________________________ def test_open_pol_dataset_sm() -> None: > res = sentinel1.open_pol_dataset(SLC_S3_VH_measurement, SLC_S3_VH_annotation) ../../../tests/test_20_sentinel1.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:555: in open_pol_dataset product_information = esa_safe.parse_tag(annotation, ".//productInformation") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xml_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_S3_SLC__1SDV_20210401T152855_20210401T152914_037258_04638E_6001.SAFE/annotation/s1a-s3-slc-vh-20210401t152855-20210401t152914-037258-04638e-001.xml') query = './/productInformation', schema_type = 'annotation', validation = 'skip' def parse_tag( xml_path: PathOrFileType, query: str, schema_type: str = "annotation", validation: str = "skip", ) -> Dict[str, Any]: schema = cached_sentinel1_schemas(schema_type) if hasattr(xml_path, "seek"): xml_path.seek(0) xml_tree = ElementTree.parse(xml_path) tag_dict: Any = schema.decode(xml_tree, query, validation=validation) > assert isinstance(tag_dict, dict), f"{type(tag_dict)} is not dict" E AssertionError: is not dict xarray_sentinel/esa_safe.py:50: AssertionError _________________________ test_open_sentinel1_dataset __________________________ def test_open_sentinel1_dataset() -> None: expected_groups = { "IW1", "IW1/VV", "IW1/VV/gcp", "IW1/VV/attitude", "IW1/VV/orbit", "IW1/VV/calibration", "IW1/VV/noise_range", "IW1/VV/noise_azimuth", } res = sentinel1.open_sentinel1_dataset(SLC_IW) assert isinstance(res, xr.Dataset) assert len(res.data_vars) == 0 assert set(res.attrs["subgroups"]) >= expected_groups res = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1") assert isinstance(res, xr.Dataset) assert len(res.data_vars) == 0 > res = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1/VV/orbit") ../../../tests/test_20_sentinel1.py:314: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError _______________________ test_open_dataset_virtual_groups _______________________ def test_open_dataset_virtual_groups() -> None: > res = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1/VV/0") ../../../tests/test_20_sentinel1.py:324: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________________________ test_crop_burst_dataset ____________________________ def test_crop_burst_dataset() -> None: > swath_ds = sentinel1.open_sentinel1_dataset(SLC_IW_V340, group="IW1/HH") ../../../tests/test_20_sentinel1.py:332: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError _________________________ test_crop_burst_dataset_gcp __________________________ def test_crop_burst_dataset_gcp() -> None: expected_geospatial_bounds = ( "POLYGON((11.060741069073366 46.41270558692681," "11.010711557932021 46.228050403919134,12.175715782110206 46.076023778486665," "12.209682909257705 46.26327129178887,11.060741069073366 46.41270558692681))" ) expected_polygon = shapely.wkt.loads(expected_geospatial_bounds) expected_geospatial_bbox = ( 11.010711557932021, 46.076023778486665, 12.209682909257705, 46.41270558692681, ) > swath_ds = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1/VV") ../../../tests/test_20_sentinel1.py:391: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________________________ test_calibrate_amplitude ___________________________ def test_calibrate_amplitude() -> None: > swath_ds = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1/VH") ../../../tests/test_20_sentinel1.py:424: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________________________ test_calibrate_intensity ___________________________ def test_calibrate_intensity() -> None: > swath_ds = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1/VH") ../../../tests/test_20_sentinel1.py:440: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ____________________ test_slant_range_time_to_ground_range _____________________ def test_slant_range_time_to_ground_range() -> None: > swath_ds = sentinel1.open_sentinel1_dataset(SLC_IW, group="IW1/VV") ../../../tests/test_20_sentinel1.py:469: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ____________________ test_ground_range_to_slant_range_time _____________________ def test_ground_range_to_slant_range_time() -> None: > swath_ds = sentinel1.open_sentinel1_dataset(GRD_IW, group="IW/VV") ../../../tests/test_20_sentinel1.py:483: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ________________________ test_open_dataset_zip_metadata ________________________ def test_open_dataset_zip_metadata() -> None: zip_path = ( DATA_FOLDER / "S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.zip" ) zip_urlpath = f"zip://*/manifest.safe::{zip_path}" expected_groups = { "IW1", "IW1/VV", "IW1/VV/gcp", "IW1/VV/attitude", "IW1/VV/orbit", "IW1/VV/calibration", } res = sentinel1.open_sentinel1_dataset(zip_urlpath) assert isinstance(res, xr.Dataset) assert set(res.attrs["subgroups"]) >= expected_groups > res = sentinel1.open_sentinel1_dataset(zip_urlpath, group="IW1/VV/orbit") ../../../tests/test_30_sentinel1_fsspec.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError ___________ test_open_dataset_polarisation_slc[product_path0-IW1/VV] ___________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE') swath_pol = 'IW1/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_SLC_PRODUCTS) def test_open_dataset_polarisation_slc( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=swath_pol) ../../../tests/test_30_xarray_backends.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________ test_open_dataset_polarisation_slc[product_path1-EW1/HH] ___________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_EW_SLC__1SDH_20210403T122536_20210403T122630_037286_046484_8152.SAFE') swath_pol = 'EW1/HH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_SLC_PRODUCTS) def test_open_dataset_polarisation_slc( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=swath_pol) ../../../tests/test_30_xarray_backends.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________ test_open_dataset_polarisation_slc[product_path2-S3/VH] ____________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_S3_SLC__1SDV_20210401T152855_20210401T152914_037258_04638E_6001.SAFE') swath_pol = 'S3/VH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_SLC_PRODUCTS) def test_open_dataset_polarisation_slc( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=swath_pol) ../../../tests/test_30_xarray_backends.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________ test_open_dataset_polarisation_grd[product_path0-IW/VV] ____________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_GRDH_1SDV_20210401T052623_20210401T052648_026269_032297_ECC8.SAFE') swath_pol = 'IW/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_GRD_PRODUCTS) def test_open_dataset_polarisation_grd( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=swath_pol) ../../../tests/test_30_xarray_backends.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ________________ test_open_dataset_orbit[product_path0-IW1/VV] _________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE') swath_pol = 'IW1/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_orbit( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/orbit") ../../../tests/test_30_xarray_backends.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError ________________ test_open_dataset_orbit[product_path1-EW1/HH] _________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_EW_SLC__1SDH_20210403T122536_20210403T122630_037286_046484_8152.SAFE') swath_pol = 'EW1/HH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_orbit( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/orbit") ../../../tests/test_30_xarray_backends.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-03T11:58:30.792178', 'family_name': 'SENTINEL-1', 'mode': 'EW', 'number': 'A', ...} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError _________________ test_open_dataset_orbit[product_path2-S3/VH] _________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_S3_SLC__1SDV_20210401T152855_20210401T152914_037258_04638E_6001.SAFE') swath_pol = 'S3/VH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_orbit( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/orbit") ../../../tests/test_30_xarray_backends.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T13:53:42.874198', 'family_name': 'SENTINEL-1', 'mode': 'SM', 'number': 'A', ...} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError _________________ test_open_dataset_orbit[product_path3-IW/VV] _________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_GRDH_1SDV_20210401T052623_20210401T052648_026269_032297_ECC8.SAFE') swath_pol = 'IW/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_orbit( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/orbit") ../../../tests/test_30_xarray_backends.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_orbit_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: orbits = esa_safe.parse_tag_as_list(annotation, ".//orbit") attrs = attrs.copy() > reference_system = orbits[0]["frame"] E IndexError: list index out of range xarray_sentinel/sentinel1.py:384: IndexError _________________ test_open_dataset_gcp[product_path0-IW1/VV] __________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE') swath_pol = 'IW1/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_gcp( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/gcp") ../../../tests/test_30_xarray_backends.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError _________________ test_open_dataset_gcp[product_path1-EW1/HH] __________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_EW_SLC__1SDH_20210403T122536_20210403T122630_037286_046484_8152.SAFE') swath_pol = 'EW1/HH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_gcp( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/gcp") ../../../tests/test_30_xarray_backends.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError __________________ test_open_dataset_gcp[product_path2-S3/VH] __________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_S3_SLC__1SDV_20210401T152855_20210401T152914_037258_04638E_6001.SAFE') swath_pol = 'S3/VH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_gcp( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/gcp") ../../../tests/test_30_xarray_backends.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError __________________ test_open_dataset_gcp[product_path3-IW/VV] __________________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_GRDH_1SDV_20210401T052623_20210401T052648_026269_032297_ECC8.SAFE') swath_pol = 'IW/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_gcp( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset(product_path, engine="sentinel-1", group=f"{swath_pol}/gcp") ../../../tests/test_30_xarray_backends.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError _____________ test_open_dataset_dc_estimate[product_path0-IW1/VV] ______________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE') swath_pol = 'IW1/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_dc_estimate( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset( product_path, engine="sentinel-1", group=f"{swath_pol}/dc_estimate" ) ../../../tests/test_30_xarray_backends.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_dc_estimate_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: dc_estimates = esa_safe.parse_tag_as_list(annotation, ".//dcEstimate") azimuth_time = [] t0 = [] data_dc_poly = [] for dc_estimate in dc_estimates: azimuth_time.append(dc_estimate["azimuthTime"]) t0.append(dc_estimate["t0"]) data_dc_poly.append( [float(c) for c in dc_estimate["dataDcPolynomial"]["$"].split()] ) ds = xr.Dataset( data_vars={ "t0": ("azimuth_time", t0, attrs), "data_dc_polynomial": (("azimuth_time", "degree"), data_dc_poly, attrs), }, coords={ "azimuth_time": [np.datetime64(at) for at in azimuth_time], > "degree": list(range(len(data_dc_poly[0]))), }, attrs=attrs, ) E IndexError: list index out of range xarray_sentinel/sentinel1.py:430: IndexError _____________ test_open_dataset_dc_estimate[product_path1-EW1/HH] ______________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_EW_SLC__1SDH_20210403T122536_20210403T122630_037286_046484_8152.SAFE') swath_pol = 'EW1/HH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_dc_estimate( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset( product_path, engine="sentinel-1", group=f"{swath_pol}/dc_estimate" ) ../../../tests/test_30_xarray_backends.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-03T11:58:30.792178', 'family_name': 'SENTINEL-1', 'mode': 'EW', 'number': 'A', ...} def open_dc_estimate_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: dc_estimates = esa_safe.parse_tag_as_list(annotation, ".//dcEstimate") azimuth_time = [] t0 = [] data_dc_poly = [] for dc_estimate in dc_estimates: azimuth_time.append(dc_estimate["azimuthTime"]) t0.append(dc_estimate["t0"]) data_dc_poly.append( [float(c) for c in dc_estimate["dataDcPolynomial"]["$"].split()] ) ds = xr.Dataset( data_vars={ "t0": ("azimuth_time", t0, attrs), "data_dc_polynomial": (("azimuth_time", "degree"), data_dc_poly, attrs), }, coords={ "azimuth_time": [np.datetime64(at) for at in azimuth_time], > "degree": list(range(len(data_dc_poly[0]))), }, attrs=attrs, ) E IndexError: list index out of range xarray_sentinel/sentinel1.py:430: IndexError ______________ test_open_dataset_dc_estimate[product_path2-S3/VH] ______________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1A_S3_SLC__1SDV_20210401T152855_20210401T152914_037258_04638E_6001.SAFE') swath_pol = 'S3/VH' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_dc_estimate( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset( product_path, engine="sentinel-1", group=f"{swath_pol}/dc_estimate" ) ../../../tests/test_30_xarray_backends.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T13:53:42.874198', 'family_name': 'SENTINEL-1', 'mode': 'SM', 'number': 'A', ...} def open_dc_estimate_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: dc_estimates = esa_safe.parse_tag_as_list(annotation, ".//dcEstimate") azimuth_time = [] t0 = [] data_dc_poly = [] for dc_estimate in dc_estimates: azimuth_time.append(dc_estimate["azimuthTime"]) t0.append(dc_estimate["t0"]) data_dc_poly.append( [float(c) for c in dc_estimate["dataDcPolynomial"]["$"].split()] ) ds = xr.Dataset( data_vars={ "t0": ("azimuth_time", t0, attrs), "data_dc_polynomial": (("azimuth_time", "degree"), data_dc_poly, attrs), }, coords={ "azimuth_time": [np.datetime64(at) for at in azimuth_time], > "degree": list(range(len(data_dc_poly[0]))), }, attrs=attrs, ) E IndexError: list index out of range xarray_sentinel/sentinel1.py:430: IndexError ______________ test_open_dataset_dc_estimate[product_path3-IW/VV] ______________ product_path = PosixPath('/build/reproducible-path/xarray-sentinel-0.9.5+ds/tests/data/S1B_IW_GRDH_1SDV_20210401T052623_20210401T052648_026269_032297_ECC8.SAFE') swath_pol = 'IW/VV' @pytest.mark.parametrize("product_path,swath_pol", SENTINEL1_PRODUCTS) def test_open_dataset_dc_estimate( product_path: esa_safe.PathType, swath_pol: str, ) -> None: > res = xr.open_dataset( product_path, engine="sentinel-1", group=f"{swath_pol}/dc_estimate" ) ../../../tests/test_30_xarray_backends.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ annotation = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_dc_estimate_dataset( annotation: esa_safe.PathOrFileType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: dc_estimates = esa_safe.parse_tag_as_list(annotation, ".//dcEstimate") azimuth_time = [] t0 = [] data_dc_poly = [] for dc_estimate in dc_estimates: azimuth_time.append(dc_estimate["azimuthTime"]) t0.append(dc_estimate["t0"]) data_dc_poly.append( [float(c) for c in dc_estimate["dataDcPolynomial"]["$"].split()] ) ds = xr.Dataset( data_vars={ "t0": ("azimuth_time", t0, attrs), "data_dc_polynomial": (("azimuth_time", "degree"), data_dc_poly, attrs), }, coords={ "azimuth_time": [np.datetime64(at) for at in azimuth_time], > "degree": list(range(len(data_dc_poly[0]))), }, attrs=attrs, ) E IndexError: list index out of range xarray_sentinel/sentinel1.py:430: IndexError ____________________________ test_open_pol_dataset _____________________________ def test_open_pol_dataset() -> None: product_path = ( DATA_FOLDER / "S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE" ) expected_variables = { "measurement", "line", "pixel", "slant_range_time", "azimuth_time", } > res = xr.open_dataset(product_path, engine="sentinel-1", group="IW1/VV") ../../../tests/test_30_xarray_backends.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ___________________________ test_burst_id_attribute ____________________________ def test_burst_id_attribute() -> None: product_path = ( DATA_FOLDER / "S1A_IW_SLC__1SDH_20220414T102209_20220414T102236_042768_051AA4_E677.SAFE" ) > res = xr.open_dataset(product_path, engine="sentinel-1", group="IW1/HH") ../../../tests/test_30_xarray_backends.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError ________________________ test_open_calibration_dataset _________________________ def test_open_calibration_dataset() -> None: annotation_path = ( DATA_FOLDER / "S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE" ) > res = xr.open_dataset( annotation_path, engine="sentinel-1", group="IW1/VV/calibration" ) ../../../tests/test_30_xarray_backends.py:222: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:991: in open_sentinel1_dataset ds = METADATA_OPENERS[metadata](file, attrs=common_attrs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ calibration = attrs = {'ascending_node_time': '2021-04-01T04:49:55.637823', 'family_name': 'SENTINEL-1', 'mode': 'IW', 'number': 'B', ...} def open_calibration_dataset( calibration: esa_safe.PathType, attrs: Dict[str, Any] = {} ) -> xr.Dataset: calibration_vectors = esa_safe.parse_tag_as_list( calibration, ".//calibrationVector", "calibration" ) azimuth_time_list = [] pixel_list = [] line_list = [] sigmaNought_list = [] betaNought_list = [] gamma_list = [] dn_list = [] for vector in calibration_vectors: azimuth_time_list.append(vector["azimuthTime"]) line_list.append(vector["line"]) pixel = np.fromstring(vector["pixel"]["$"], dtype=int, sep=" ") pixel_list.append(pixel) sigmaNought = np.fromstring( vector["sigmaNought"]["$"], dtype=np.float32, sep=" " ) sigmaNought_list.append(sigmaNought) betaNought = np.fromstring(vector["betaNought"]["$"], dtype=np.float32, sep=" ") betaNought_list.append(betaNought) gamma = np.fromstring(vector["gamma"]["$"], dtype=np.float32, sep=" ") gamma_list.append(gamma) dn = np.fromstring(vector["dn"]["$"], dtype=np.float32, sep=" ") dn_list.append(dn) pixel = np.array(pixel_list) > if (pixel - pixel[0]).any(): E IndexError: index 0 is out of bounds for axis 0 with size 0 xarray_sentinel/sentinel1.py:103: IndexError ____________________ test_open_pol_dataset_preferred_chunks ____________________ def test_open_pol_dataset_preferred_chunks() -> None: product_path = ( DATA_FOLDER / "S1B_IW_SLC__1SDV_20210401T052622_20210401T052650_026269_032297_EFA4.SAFE" ) > res = xr.open_dataset(product_path, engine="sentinel-1", group="IW1/VV", chunks={}) ../../../tests/test_35_xarray_backends_dask.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/xarray/backends/api.py:687: in open_dataset backend_ds = backend.open_dataset( xarray_sentinel/xarray_backends.py:22: in open_dataset ds = sentinel1.open_sentinel1_dataset( xarray_sentinel/sentinel1.py:979: in open_sentinel1_dataset gcp = open_gcp_dataset(annotation, attrs=common_attrs) xarray_sentinel/sentinel1.py:271: in open_gcp_dataset footprint = get_footprint_linestring(ds.azimuth_time, ds.slant_range_time, ds) xarray_sentinel/sentinel1.py:285: in get_footprint_linestring azimuth_time_mm = [azimuth_time.min(), azimuth_time.max()] /usr/lib/python3/dist-packages/xarray/core/_aggregations.py:2899: in min return self.reduce( /usr/lib/python3/dist-packages/xarray/core/dataarray.py:3883: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /usr/lib/python3/dist-packages/xarray/core/variable.py:1654: in reduce result = super().reduce( /usr/lib/python3/dist-packages/xarray/namedarray/core.py:921: in reduce data = func(self.data, **kwargs) /usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py:510: in f return func(values, axis=axis, **kwargs) /usr/lib/python3/dist-packages/xarray/computation/nanops.py:71: in nanmin return nputils.nanmin(a, axis=axis) /usr/lib/python3/dist-packages/xarray/core/nputils.py:242: in f result = getattr(npmodule, name)(values, axis=axis, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([], dtype=float64), axis = None, out = None, keepdims = initial = , where = @array_function_dispatch(_nanmin_dispatcher) def nanmin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ Return minimum of an array or minimum along an axis, ignoring any NaNs. When all-NaN slices are encountered a ``RuntimeWarning`` is raised and Nan is returned for that slice. Parameters ---------- a : array_like Array containing numbers whose minimum is desired. If `a` is not an array, a conversion is attempted. axis : {int, tuple of int, None}, optional Axis or axes along which the minimum is computed. The default is to compute the minimum of the flattened array. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output, but the type will be cast if necessary. See :ref:`ufuncs-output-type` for more details. keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original `a`. If the value is anything but the default, then `keepdims` will be passed through to the `min` method of sub-classes of `ndarray`. If the sub-classes methods does not implement `keepdims` any exceptions will be raised. initial : scalar, optional The maximum value of an output element. Must be present to allow computation on empty slice. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 where : array_like of bool, optional Elements to compare for the minimum. See `~numpy.ufunc.reduce` for details. .. versionadded:: 1.22.0 Returns ------- nanmin : ndarray An array with the same shape as `a`, with the specified axis removed. If `a` is a 0-d array, or if axis is None, an ndarray scalar is returned. The same dtype as `a` is returned. See Also -------- nanmax : The maximum value of an array along a given axis, ignoring any NaNs. amin : The minimum value of an array along a given axis, propagating any NaNs. fmin : Element-wise minimum of two arrays, ignoring any NaNs. minimum : Element-wise minimum of two arrays, propagating any NaNs. isnan : Shows which elements are Not a Number (NaN). isfinite: Shows which elements are neither NaN nor infinity. amax, fmax, maximum Notes ----- NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754). This means that Not a Number is not equivalent to infinity. Positive infinity is treated as a very large number and negative infinity is treated as a very small (i.e. negative) number. If the input has a integer type the function is equivalent to np.min. Examples -------- >>> import numpy as np >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanmin(a) 1.0 >>> np.nanmin(a, axis=0) array([1., 2.]) >>> np.nanmin(a, axis=1) array([1., 3.]) When positive infinity and negative infinity are present: >>> np.nanmin([1, 2, np.nan, np.inf]) 1.0 >>> np.nanmin([1, 2, np.nan, -np.inf]) -inf """ kwargs = {} if keepdims is not np._NoValue: kwargs['keepdims'] = keepdims if initial is not np._NoValue: kwargs['initial'] = initial if where is not np._NoValue: kwargs['where'] = where if type(a) is np.ndarray and a.dtype != np.object_: # Fast, but not safe for subclasses of ndarray, or object arrays, # which do not implement isnan (gh-9009), or fmin correctly (gh-8975) > res = np.fmin.reduce(a, axis=axis, out=out, **kwargs) E ValueError: zero-size array to reduction operation fmin which has no identity /usr/lib/python3/dist-packages/numpy/lib/_nanfunctions_impl.py:357: ValueError =============================== warnings summary =============================== xarray_sentinel/esa_safe.py:7 /build/reproducible-path/xarray-sentinel-0.9.5+ds/.pybuild/cpython3_3.13_xarray-sentinel/build/xarray_sentinel/esa_safe.py:7: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED ../../../tests/test_10_esa_safe.py::test_parse_tag - AssertionError: <... FAILED ../../../tests/test_10_esa_safe.py::test_parse_tag_as_list - IndexErro... FAILED ../../../tests/test_20_sentinel1.py::test_open_calibration_dataset - I... FAILED ../../../tests/test_20_sentinel1.py::test_open_noise_range_dataset - I... FAILED ../../../tests/test_20_sentinel1.py::test_open_noise_azimuth_dataset FAILED ../../../tests/test_20_sentinel1.py::test_open_coordinate_conversion_dataset FAILED ../../../tests/test_20_sentinel1.py::test_open_gcp_dataset - ValueErro... FAILED ../../../tests/test_20_sentinel1.py::test_get_footprint_linestring - V... FAILED ../../../tests/test_20_sentinel1.py::test_open_orbit_dataset - IndexEr... FAILED ../../../tests/test_20_sentinel1.py::test_open_dc_estimate_dataset - I... FAILED ../../../tests/test_20_sentinel1.py::test_open_azimuth_fm_rate_dataset FAILED ../../../tests/test_20_sentinel1.py::test_open_pol_dataset_iw - Assert... FAILED ../../../tests/test_20_sentinel1.py::test_open_pol_dataset_sm - Assert... FAILED ../../../tests/test_20_sentinel1.py::test_open_sentinel1_dataset - Ind... FAILED ../../../tests/test_20_sentinel1.py::test_open_dataset_virtual_groups FAILED ../../../tests/test_20_sentinel1.py::test_crop_burst_dataset - ValueEr... FAILED ../../../tests/test_20_sentinel1.py::test_crop_burst_dataset_gcp - Val... FAILED ../../../tests/test_20_sentinel1.py::test_calibrate_amplitude - ValueE... FAILED ../../../tests/test_20_sentinel1.py::test_calibrate_intensity - ValueE... FAILED ../../../tests/test_20_sentinel1.py::test_slant_range_time_to_ground_range FAILED ../../../tests/test_20_sentinel1.py::test_ground_range_to_slant_range_time FAILED ../../../tests/test_30_sentinel1_fsspec.py::test_open_dataset_zip_metadata FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_polarisation_slc[product_path0-IW1/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_polarisation_slc[product_path1-EW1/HH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_polarisation_slc[product_path2-S3/VH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_polarisation_grd[product_path0-IW/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path0-IW1/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path1-EW1/HH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path2-S3/VH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_orbit[product_path3-IW/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_gcp[product_path0-IW1/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_gcp[product_path1-EW1/HH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_gcp[product_path2-S3/VH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_gcp[product_path3-IW/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path0-IW1/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path1-EW1/HH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path2-S3/VH] FAILED ../../../tests/test_30_xarray_backends.py::test_open_dataset_dc_estimate[product_path3-IW/VV] FAILED ../../../tests/test_30_xarray_backends.py::test_open_pol_dataset - Val... FAILED ../../../tests/test_30_xarray_backends.py::test_burst_id_attribute - V... FAILED ../../../tests/test_30_xarray_backends.py::test_open_calibration_dataset FAILED ../../../tests/test_35_xarray_backends_dask.py::test_open_pol_dataset_preferred_chunks ====== 42 failed, 21 passed, 4 deselected, 1 xfailed, 1 warning in 16.81s ====== E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /build/reproducible-path/xarray-sentinel-0.9.5+ds/.pybuild/cpython3_3.13_xarray-sentinel/build; python3.13 -m pytest -k "not test_mosaic_slc_iw and not test_to_group_netcdf and not test_open_dataset_zip_data and not test_to_group_zarr" /build/reproducible-path/xarray-sentinel-0.9.5+ds/tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:16: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3814488 and its subdirectories Mon Sep 1 06:30:45 UTC 2025 W: No second build log, what happened?