I: pbuilder: network access will be disabled during build I: Current time: Fri Feb 14 11:56:16 -12 2025 I: pbuilder-time-stamp: 1739577376 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-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 [einsteinpy_0.4.0-3.dsc] I: copying [./einsteinpy_0.4.0.orig.tar.gz] I: copying [./einsteinpy_0.4.0-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./einsteinpy_0.4.0-3.dsc: unsupported subcommand dpkg-source: info: extracting einsteinpy in einsteinpy-0.4.0 dpkg-source: info: unpacking einsteinpy_0.4.0.orig.tar.gz dpkg-source: info: unpacking einsteinpy_0.4.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying Fix-numpy-1.24-compatibility.patch dpkg-source: info: applying Fixes-NameError-for-numpy-in-tensor_lambdify.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/30296/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='armhf' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='armhf' IFS=' ' INVOCATION_ID='fbf00f161477434898d4017811ea9d8e' 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='30296' 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.KaiZbcI5/pbuilderrc_9Tdf --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.KaiZbcI5/b1 --logfile b1/build.log einsteinpy_0.4.0-3.dsc' SUDO_GID='113' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://10.0.0.15:3142/' I: uname -a Linux cbxi4a 6.1.0-23-armmp #1 SMP Debian 6.1.99-1 (2024-07-15) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/30296/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: armhf 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, python3-all, python3-astropy, python3-matplotlib, python3-numpy, python3-plotly, python3-pytest, python3-scipy, python3-setuptools, python3-sympy dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19533 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 python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-astropy; however: Package python3-astropy is not installed. pbuilder-satisfydepends-dummy depends on python3-matplotlib; however: Package python3-matplotlib is not installed. pbuilder-satisfydepends-dummy depends on python3-numpy; however: Package python3-numpy is not installed. pbuilder-satisfydepends-dummy depends on python3-plotly; however: Package python3-plotly is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-scipy; however: Package python3-scipy is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-sympy; however: Package python3-sympy 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} blt{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} fonts-lyx{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libblas3{a} libbrotli1{a} libcom-err2{a} libdebhelper-perl{a} libdeflate0{a} libelf1t64{a} liberfa1{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgcrypt20{a} libgfortran5{a} libglib2.0-0t64{a} libgpg-error0{a} libgraphite2-3{a} libgssapi-krb5-2{a} libharfbuzz0b{a} libicu72{a} libimagequant0{a} libjbig0{a} libjpeg62-turbo{a} libjs-jquery{a} libjs-jquery-hotkeys{a} libjs-jquery-isonscreen{a} libjs-jquery-metadata{a} libjs-jquery-tablesorter{a} libjs-jquery-throttle-debounce{a} libjs-jquery-ui{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblapack3{a} liblbfgsb0{a} liblcms2-2{a} liblerc4{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libopenjp2-7{a} libpipeline1{a} libpng16-16t64{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libqhull-r8.0{a} libraqm0{a} libreadline8t64{a} libsharpyuv0{a} libtcl8.6{a} libtiff6{a} libtirpc-common{a} libtirpc3t64{a} libtk8.6{a} libtool{a} libuchardet0{a} libunistring5{a} libwcs8{a} libwebp7{a} libwebpdemux2{a} libwebpmux3{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxft2{a} libxml2{a} libxrender1{a} libxslt1.1{a} libxss1{a} libyaml-0-2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} po-debconf{a} python-matplotlib-data{a} python3{a} python3-all{a} python3-astropy{a} python3-astropy-iers-data{a} python3-attr{a} python3-autocommand{a} python3-brotli{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-configobj{a} python3-contourpy{a} python3-coverage{a} python3-cycler{a} python3-dateutil{a} python3-decorator{a} python3-erfa{a} python3-fastjsonschema{a} python3-fonttools{a} python3-fs{a} python3-hypothesis{a} python3-idna{a} python3-inflect{a} python3-iniconfig{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jsonschema{a} python3-jsonschema-specifications{a} python3-jupyter-core{a} python3-kiwisolver{a} python3-lxml{a} python3-lz4{a} python3-matplotlib{a} python3-minimal{a} python3-more-itertools{a} python3-mpmath{a} python3-nbformat{a} python3-numpy{a} python3-numpy-dev{a} python3-packaging{a} python3-pil{a} python3-pil.imagetk{a} python3-pkg-resources{a} python3-platformdirs{a} python3-plotly{a} python3-pluggy{a} python3-ply{a} python3-pyparsing{a} python3-pytest{a} python3-pytest-arraydiff{a} python3-pytest-astropy{a} python3-pytest-astropy-header{a} python3-pytest-cov{a} python3-pytest-doctestplus{a} python3-pytest-filter-subpackage{a} python3-pytest-mock{a} python3-pytest-remotedata{a} python3-pytz{a} python3-referencing{a} python3-requests{a} python3-rpds-py{a} python3-scipy{a} python3-setuptools{a} python3-sortedcontainers{a} python3-sympy{a} python3-tenacity{a} python3-tk{a} python3-traitlets{a} python3-typeguard{a} python3-typing-extensions{a} python3-tz{a} python3-ufolib2{a} python3-urllib3{a} python3-yaml{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} python3.12-tk{a} python3.13{a} python3.13-minimal{a} python3.13-tk{a} readline-common{a} sensible-utils{a} tk8.6-blt2.5{a} tzdata{a} unicode-data{a} x11-common{a} The following packages are RECOMMENDED but will NOT be installed: curl isympy-common javascript-common krb5-locales libarchive-cpio-perl libglib2.0-data libgpg-error-l10n libjs-jquery-datatables libltdl-dev libmail-sendmail-perl lynx python3-bs4 python3-click python3-cssselect python3-fqdn python3-html5lib python3-isoduration python3-json-pointer python3-olefile python3-pooch python3-pygments python3-rfc3339-validator python3-rfc3986-validator python3-rfc3987 python3-uritemplate python3-webcolors shared-mime-info wget xdg-user-dirs 0 packages upgraded, 197 newly installed, 0 to remove and 0 not upgraded. Need to get 109 MB of archives. After unpacking 508 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main armhf libpython3.13-minimal armhf 3.13.2-1 [845 kB] Get: 2 http://deb.debian.org/debian unstable/main armhf libexpat1 armhf 2.6.4-1 [83.5 kB] Get: 3 http://deb.debian.org/debian unstable/main armhf python3.13-minimal armhf 3.13.2-1 [1842 kB] Get: 4 http://deb.debian.org/debian unstable/main armhf python3-minimal armhf 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian unstable/main armhf media-types all 11.0.0 [27.6 kB] Get: 6 http://deb.debian.org/debian unstable/main armhf netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main armhf tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main armhf libffi8 armhf 3.4.7-1 [20.3 kB] Get: 9 http://deb.debian.org/debian unstable/main armhf readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main armhf libreadline8t64 armhf 8.2-6 [146 kB] Get: 11 http://deb.debian.org/debian unstable/main armhf libpython3.13-stdlib armhf 3.13.2-1 [1853 kB] Get: 12 http://deb.debian.org/debian unstable/main armhf python3.13 armhf 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian unstable/main armhf libpython3-stdlib armhf 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian unstable/main armhf python3 armhf 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian unstable/main armhf libpython3.12-minimal armhf 3.12.9-1 [803 kB] Get: 16 http://deb.debian.org/debian unstable/main armhf python3.12-minimal armhf 3.12.9-1 [1810 kB] Get: 17 http://deb.debian.org/debian unstable/main armhf sensible-utils all 0.0.24 [24.8 kB] Get: 18 http://deb.debian.org/debian unstable/main armhf openssl armhf 3.4.1-1 [1393 kB] Get: 19 http://deb.debian.org/debian unstable/main armhf ca-certificates all 20241223 [164 kB] Get: 20 http://deb.debian.org/debian unstable/main armhf libmagic-mgc armhf 1:5.45-3+b1 [314 kB] Get: 21 http://deb.debian.org/debian unstable/main armhf libmagic1t64 armhf 1:5.45-3+b1 [98.5 kB] Get: 22 http://deb.debian.org/debian unstable/main armhf file armhf 1:5.45-3+b1 [42.3 kB] Get: 23 http://deb.debian.org/debian unstable/main armhf gettext-base armhf 0.23.1-1 [238 kB] Get: 24 http://deb.debian.org/debian unstable/main armhf libuchardet0 armhf 0.0.8-1+b2 [65.6 kB] Get: 25 http://deb.debian.org/debian unstable/main armhf groff-base armhf 1.23.0-7 [1095 kB] Get: 26 http://deb.debian.org/debian unstable/main armhf bsdextrautils armhf 2.40.4-3 [84.6 kB] Get: 27 http://deb.debian.org/debian unstable/main armhf libpipeline1 armhf 1.5.8-1 [35.0 kB] Get: 28 http://deb.debian.org/debian unstable/main armhf man-db armhf 2.13.0-1 [1382 kB] Get: 29 http://deb.debian.org/debian unstable/main armhf m4 armhf 1.4.19-5 [272 kB] Get: 30 http://deb.debian.org/debian unstable/main armhf autoconf all 2.72-3 [493 kB] Get: 31 http://deb.debian.org/debian unstable/main armhf autotools-dev all 20220109.1 [51.6 kB] Get: 32 http://deb.debian.org/debian unstable/main armhf automake all 1:1.17-3 [862 kB] Get: 33 http://deb.debian.org/debian unstable/main armhf autopoint all 0.23.1-1 [770 kB] Get: 34 http://deb.debian.org/debian unstable/main armhf libtcl8.6 armhf 8.6.16+dfsg-1 [934 kB] Get: 35 http://deb.debian.org/debian unstable/main armhf libbrotli1 armhf 1.1.0-2+b6 [282 kB] Get: 36 http://deb.debian.org/debian unstable/main armhf libpng16-16t64 armhf 1.6.46-4 [267 kB] Get: 37 http://deb.debian.org/debian unstable/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [385 kB] Get: 38 http://deb.debian.org/debian unstable/main armhf fonts-dejavu-mono all 2.37-8 [489 kB] Get: 39 http://deb.debian.org/debian unstable/main armhf fonts-dejavu-core all 2.37-8 [840 kB] Get: 40 http://deb.debian.org/debian unstable/main armhf fontconfig-config armhf 2.15.0-2 [317 kB] Get: 41 http://deb.debian.org/debian unstable/main armhf libfontconfig1 armhf 2.15.0-2 [371 kB] Get: 42 http://deb.debian.org/debian unstable/main armhf libxau6 armhf 1:1.0.11-1 [19.7 kB] Get: 43 http://deb.debian.org/debian unstable/main armhf libxdmcp6 armhf 1:1.1.5-1 [26.4 kB] Get: 44 http://deb.debian.org/debian unstable/main armhf libxcb1 armhf 1.17.0-2+b1 [140 kB] Get: 45 http://deb.debian.org/debian unstable/main armhf libx11-data all 2:1.8.10-2 [337 kB] Get: 46 http://deb.debian.org/debian unstable/main armhf libx11-6 armhf 2:1.8.10-2 [750 kB] Get: 47 http://deb.debian.org/debian unstable/main armhf libxrender1 armhf 1:0.9.10-1.1+b4 [25.0 kB] Get: 48 http://deb.debian.org/debian unstable/main armhf libxft2 armhf 2.3.6-1+b4 [46.4 kB] Get: 49 http://deb.debian.org/debian unstable/main armhf libxext6 armhf 2:1.3.4-1+b3 [45.2 kB] Get: 50 http://deb.debian.org/debian unstable/main armhf x11-common all 1:7.7+24 [217 kB] Get: 51 http://deb.debian.org/debian unstable/main armhf libxss1 armhf 1:1.2.3-1+b3 [16.4 kB] Get: 52 http://deb.debian.org/debian unstable/main armhf libtk8.6 armhf 8.6.16-1 [698 kB] Get: 53 http://deb.debian.org/debian unstable/main armhf tk8.6-blt2.5 armhf 2.5.3+dfsg-7 [481 kB] Get: 54 http://deb.debian.org/debian unstable/main armhf blt armhf 2.5.3+dfsg-7 [6024 B] Get: 55 http://deb.debian.org/debian unstable/main armhf libdebhelper-perl all 13.24.1 [90.9 kB] Get: 56 http://deb.debian.org/debian unstable/main armhf libtool all 2.5.4-3 [539 kB] Get: 57 http://deb.debian.org/debian unstable/main armhf dh-autoreconf all 20 [17.1 kB] Get: 58 http://deb.debian.org/debian unstable/main armhf libarchive-zip-perl all 1.68-1 [104 kB] Get: 59 http://deb.debian.org/debian unstable/main armhf libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 60 http://deb.debian.org/debian unstable/main armhf dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 61 http://deb.debian.org/debian unstable/main armhf libelf1t64 armhf 0.192-4 [184 kB] Get: 62 http://deb.debian.org/debian unstable/main armhf dwz armhf 0.15-1+b2 [106 kB] Get: 63 http://deb.debian.org/debian unstable/main armhf libunistring5 armhf 1.3-1 [444 kB] Get: 64 http://deb.debian.org/debian unstable/main armhf libicu72 armhf 72.1-6 [9086 kB] Get: 65 http://deb.debian.org/debian unstable/main armhf libxml2 armhf 2.12.7+dfsg+really2.9.14-0.2+b1 [605 kB] Get: 66 http://deb.debian.org/debian unstable/main armhf gettext armhf 0.23.1-1 [1560 kB] Get: 67 http://deb.debian.org/debian unstable/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 68 http://deb.debian.org/debian unstable/main armhf po-debconf all 1.0.21+nmu1 [248 kB] Get: 69 http://deb.debian.org/debian unstable/main armhf debhelper all 13.24.1 [920 kB] Get: 70 http://deb.debian.org/debian unstable/main armhf python3-autocommand all 2.2.2-3 [13.6 kB] Get: 71 http://deb.debian.org/debian unstable/main armhf python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 72 http://deb.debian.org/debian unstable/main armhf python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 73 http://deb.debian.org/debian unstable/main armhf python3-typeguard all 4.4.1-1 [37.0 kB] Get: 74 http://deb.debian.org/debian unstable/main armhf python3-inflect all 7.3.1-2 [32.4 kB] Get: 75 http://deb.debian.org/debian unstable/main armhf python3-jaraco.context all 6.0.0-1 [7984 B] Get: 76 http://deb.debian.org/debian unstable/main armhf python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 77 http://deb.debian.org/debian unstable/main armhf python3-pkg-resources all 75.6.0-1 [222 kB] Get: 78 http://deb.debian.org/debian unstable/main armhf python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 79 http://deb.debian.org/debian unstable/main armhf python3-zipp all 3.21.0-1 [10.6 kB] Get: 80 http://deb.debian.org/debian unstable/main armhf python3-setuptools all 75.6.0-1 [720 kB] Get: 81 http://deb.debian.org/debian unstable/main armhf dh-python all 6.20250108 [113 kB] Get: 82 http://deb.debian.org/debian unstable/main armhf fonts-lyx all 2.4.3-1 [190 kB] Get: 83 http://deb.debian.org/debian unstable/main armhf libblas3 armhf 3.12.1-2 [116 kB] Get: 84 http://deb.debian.org/debian unstable/main armhf libcom-err2 armhf 1.47.2-1 [23.3 kB] Get: 85 http://deb.debian.org/debian unstable/main armhf libdeflate0 armhf 1.23-1+b1 [36.7 kB] Get: 86 http://deb.debian.org/debian unstable/main armhf liberfa1 armhf 2.0.1-1+b2 [119 kB] Get: 87 http://deb.debian.org/debian unstable/main armhf libfribidi0 armhf 1.0.16-1 [24.6 kB] Get: 88 http://deb.debian.org/debian unstable/main armhf libgpg-error0 armhf 1.51-3 [71.9 kB] Get: 89 http://deb.debian.org/debian unstable/main armhf libgcrypt20 armhf 1.11.0-7 [727 kB] Get: 90 http://deb.debian.org/debian unstable/main armhf libgfortran5 armhf 14.2.0-17 [263 kB] Get: 91 http://deb.debian.org/debian unstable/main armhf libglib2.0-0t64 armhf 2.83.3-2 [1337 kB] Get: 92 http://deb.debian.org/debian unstable/main armhf libgraphite2-3 armhf 1.3.14-2+b1 [63.1 kB] Get: 93 http://deb.debian.org/debian unstable/main armhf libkrb5support0 armhf 1.21.3-4 [30.3 kB] Get: 94 http://deb.debian.org/debian unstable/main armhf libk5crypto3 armhf 1.21.3-4 [75.8 kB] Get: 95 http://deb.debian.org/debian unstable/main armhf libkeyutils1 armhf 1.6.3-4 [8096 B] Get: 96 http://deb.debian.org/debian unstable/main armhf libkrb5-3 armhf 1.21.3-4 [285 kB] Get: 97 http://deb.debian.org/debian unstable/main armhf libgssapi-krb5-2 armhf 1.21.3-4 [116 kB] Get: 98 http://deb.debian.org/debian unstable/main armhf libharfbuzz0b armhf 10.2.0-1 [419 kB] Get: 99 http://deb.debian.org/debian unstable/main armhf libimagequant0 armhf 2.18.0-1+b2 [30.5 kB] Get: 100 http://deb.debian.org/debian unstable/main armhf libjbig0 armhf 2.1-6.1+b2 [27.3 kB] Get: 101 http://deb.debian.org/debian unstable/main armhf libjpeg62-turbo armhf 1:2.1.5-3+b1 [145 kB] Get: 102 http://deb.debian.org/debian unstable/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 103 http://deb.debian.org/debian unstable/main armhf libjs-jquery-hotkeys all 0.2.0-1 [12.6 kB] Get: 104 http://deb.debian.org/debian unstable/main armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3196 B] Get: 105 http://deb.debian.org/debian unstable/main armhf libjs-jquery-metadata all 12-4 [6532 B] Get: 106 http://deb.debian.org/debian unstable/main armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [184 kB] Get: 107 http://deb.debian.org/debian unstable/main armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.2 kB] Get: 108 http://deb.debian.org/debian unstable/main armhf libjs-jquery-ui all 1.13.2+dfsg-1 [250 kB] Get: 109 http://deb.debian.org/debian unstable/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 110 http://deb.debian.org/debian unstable/main armhf libjs-sphinxdoc all 8.1.3-4 [30.4 kB] Get: 111 http://deb.debian.org/debian unstable/main armhf liblapack3 armhf 3.12.1-2 [1835 kB] Get: 112 http://deb.debian.org/debian unstable/main armhf liblbfgsb0 armhf 3.0+dfsg.4-1+b2 [25.6 kB] Get: 113 http://deb.debian.org/debian unstable/main armhf liblcms2-2 armhf 2.16-2 [131 kB] Get: 114 http://deb.debian.org/debian unstable/main armhf liblerc4 armhf 4.0.0+ds-5 [146 kB] Get: 115 http://deb.debian.org/debian unstable/main armhf libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 116 http://deb.debian.org/debian unstable/main armhf libtirpc3t64 armhf 1.3.4+ds-1.3+b1 [71.3 kB] Get: 117 http://deb.debian.org/debian unstable/main armhf libnsl2 armhf 1.3.0-3+b3 [35.0 kB] Get: 118 http://deb.debian.org/debian unstable/main armhf libopenjp2-7 armhf 2.5.3-1 [184 kB] Get: 119 http://deb.debian.org/debian unstable/main armhf libpython3.12-stdlib armhf 3.12.9-1 [1833 kB] Get: 120 http://deb.debian.org/debian unstable/main armhf libqhull-r8.0 armhf 2020.2-6+b2 [220 kB] Get: 121 http://deb.debian.org/debian unstable/main armhf libraqm0 armhf 0.10.2-1 [11.6 kB] Get: 122 http://deb.debian.org/debian unstable/main armhf libsharpyuv0 armhf 1.5.0-0.1 [114 kB] Get: 123 http://deb.debian.org/debian unstable/main armhf libwebp7 armhf 1.5.0-0.1 [273 kB] Get: 124 http://deb.debian.org/debian unstable/main armhf libtiff6 armhf 4.5.1+git230720-5 [302 kB] Get: 125 http://deb.debian.org/debian unstable/main armhf libwcs8 armhf 8.4+ds-1 [251 kB] Get: 126 http://deb.debian.org/debian unstable/main armhf libwebpdemux2 armhf 1.5.0-0.1 [112 kB] Get: 127 http://deb.debian.org/debian unstable/main armhf libwebpmux3 armhf 1.5.0-0.1 [123 kB] Get: 128 http://deb.debian.org/debian unstable/main armhf libxslt1.1 armhf 1.1.35-1.1+b1 [212 kB] Get: 129 http://deb.debian.org/debian unstable/main armhf libyaml-0-2 armhf 0.2.5-2 [45.4 kB] Get: 130 http://deb.debian.org/debian unstable/main armhf python-matplotlib-data all 3.8.3-3 [2731 kB] Get: 131 http://deb.debian.org/debian unstable/main armhf python3.12 armhf 3.12.9-1 [681 kB] Get: 132 http://deb.debian.org/debian unstable/main armhf python3-all armhf 3.13.1-2 [1056 B] Get: 133 http://deb.debian.org/debian unstable/main armhf python3-configobj all 5.0.9-1 [34.0 kB] Get: 134 http://deb.debian.org/debian unstable/main armhf python3-iniconfig all 1.1.1-2 [6396 B] Get: 135 http://deb.debian.org/debian unstable/main armhf python3-packaging all 24.2-1 [55.3 kB] Get: 136 http://deb.debian.org/debian unstable/main armhf python3-pluggy all 1.5.0-1 [26.9 kB] Get: 137 http://deb.debian.org/debian unstable/main armhf python3-pytest all 8.3.4-1 [250 kB] Get: 138 http://deb.debian.org/debian unstable/main armhf python3-attr all 25.1.0-1 [68.7 kB] Get: 139 http://deb.debian.org/debian unstable/main armhf python3-dateutil all 2.9.0-3 [79.3 kB] Get: 140 http://deb.debian.org/debian unstable/main armhf python3-sortedcontainers all 2.4.0-2 [31.9 kB] Get: 141 http://deb.debian.org/debian unstable/main armhf python3-hypothesis all 6.125.2-1 [328 kB] Get: 142 http://deb.debian.org/debian unstable/main armhf python3-numpy-dev armhf 1:2.2.2+ds-2 [132 kB] Get: 143 http://deb.debian.org/debian unstable/main armhf python3-numpy armhf 1:2.2.2+ds-2 [3882 kB] Get: 144 http://deb.debian.org/debian unstable/main armhf python3-pytest-arraydiff all 0.6.1-3 [10.5 kB] Get: 145 http://deb.debian.org/debian unstable/main armhf python3-pytest-astropy-header all 0.2.2-2 [9000 B] Get: 146 http://deb.debian.org/debian unstable/main armhf python3-coverage armhf 7.6.0+dfsg1-2+b1 [176 kB] Get: 147 http://deb.debian.org/debian unstable/main armhf python3-pytest-cov all 5.0.0-1 [26.8 kB] Get: 148 http://deb.debian.org/debian unstable/main armhf python3-pytest-doctestplus all 1.4.0-1 [25.7 kB] Get: 149 http://deb.debian.org/debian unstable/main armhf python3-pytest-filter-subpackage all 0.2.0-1 [6312 B] Get: 150 http://deb.debian.org/debian unstable/main armhf python3-pytest-mock all 3.14.0-2 [18.3 kB] Get: 151 http://deb.debian.org/debian unstable/main armhf python3-pytest-remotedata all 0.4.1-1 [9292 B] Get: 152 http://deb.debian.org/debian unstable/main armhf python3-pytest-astropy all 0.11.0-1 [6716 B] Get: 153 http://deb.debian.org/debian unstable/main armhf python3-ply all 3.11-7 [62.6 kB] Get: 154 http://deb.debian.org/debian unstable/main armhf python3-astropy-iers-data all 0.2025.1.6.0.33.42-1 [1091 kB] Get: 155 http://deb.debian.org/debian unstable/main armhf python3-erfa armhf 2.0.1.5+ds-1+b1 [305 kB] Get: 156 http://deb.debian.org/debian unstable/main armhf python3-yaml armhf 6.0.2-1+b1 [158 kB] Get: 157 http://deb.debian.org/debian unstable/main armhf python3-astropy armhf 7.0.1-1 [3807 kB] Get: 158 http://deb.debian.org/debian unstable/main armhf python3-brotli armhf 1.1.0-2+b6 [302 kB] Get: 159 http://deb.debian.org/debian unstable/main armhf python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 160 http://deb.debian.org/debian unstable/main armhf python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 161 http://deb.debian.org/debian unstable/main armhf python3-charset-normalizer armhf 3.4.0-1+b1 [126 kB] Get: 162 http://deb.debian.org/debian unstable/main armhf python3-contourpy armhf 1.3.1-1 [217 kB] Get: 163 http://deb.debian.org/debian unstable/main armhf python3-cycler all 0.12.1-1 [9496 B] Get: 164 http://deb.debian.org/debian unstable/main armhf python3-decorator all 5.1.1-5 [15.1 kB] Get: 165 http://deb.debian.org/debian unstable/main armhf python3-fastjsonschema all 2.21.1-1 [22.4 kB] Get: 166 http://deb.debian.org/debian unstable/main armhf python3-pytz all 2025.1-3 [150 kB] Get: 167 http://deb.debian.org/debian unstable/main armhf python3-tz all 2025.1-3 [4004 B] Get: 168 http://deb.debian.org/debian unstable/main armhf python3-platformdirs all 4.3.6-1 [16.6 kB] Get: 169 http://deb.debian.org/debian unstable/main armhf python3-fs all 2.4.16-6 [95.1 kB] Get: 170 http://deb.debian.org/debian unstable/main armhf python3-lxml armhf 5.3.1-1 [1474 kB] Get: 171 http://deb.debian.org/debian unstable/main armhf python3-lz4 armhf 4.4.0+dfsg-1 [23.9 kB] Get: 172 http://deb.debian.org/debian unstable/main armhf python3-scipy armhf 1.14.1-4 [18.5 MB] Get: 173 http://deb.debian.org/debian unstable/main armhf python3-mpmath all 1.3.0-1 [419 kB] Get: 174 http://deb.debian.org/debian unstable/main armhf python3-sympy all 1.13.3-2 [4148 kB] Get: 175 http://deb.debian.org/debian unstable/main armhf python3-ufolib2 all 0.17.0+dfsg1-1 [33.0 kB] Get: 176 http://deb.debian.org/debian unstable/main armhf unicode-data all 15.1.0-1 [8547 kB] Get: 177 http://deb.debian.org/debian unstable/main armhf python3-fonttools armhf 4.55.3-2 [1529 kB] Get: 178 http://deb.debian.org/debian unstable/main armhf python3-idna all 3.10-1 [42.0 kB] Get: 179 http://deb.debian.org/debian unstable/main armhf python3-rpds-py armhf 0.21.0-2 [255 kB] Get: 180 http://deb.debian.org/debian unstable/main armhf python3-referencing all 0.35.1-2 [23.5 kB] Get: 181 http://deb.debian.org/debian unstable/main armhf python3-jsonschema-specifications all 2023.12.1-2 [9020 B] Get: 182 http://deb.debian.org/debian unstable/main armhf python3-jsonschema all 4.19.2-6 [71.4 kB] Get: 183 http://deb.debian.org/debian unstable/main armhf python3-traitlets all 5.14.3+really5.14.3-1 [70.9 kB] Get: 184 http://deb.debian.org/debian unstable/main armhf python3-jupyter-core all 5.7.2-5 [35.3 kB] Get: 185 http://deb.debian.org/debian unstable/main armhf python3-kiwisolver armhf 1.4.7-3 [64.9 kB] Get: 186 http://deb.debian.org/debian unstable/main armhf python3-pil armhf 11.1.0-5 [496 kB] Get: 187 http://deb.debian.org/debian unstable/main armhf python3.12-tk armhf 3.12.9-1 [109 kB] Get: 188 http://deb.debian.org/debian unstable/main armhf python3.13-tk armhf 3.13.2-1 [100 kB] Get: 189 http://deb.debian.org/debian unstable/main armhf python3-tk armhf 3.13.1-1 [9464 B] Get: 190 http://deb.debian.org/debian unstable/main armhf python3-pil.imagetk armhf 11.1.0-5 [81.1 kB] Get: 191 http://deb.debian.org/debian unstable/main armhf python3-pyparsing all 3.1.2-1 [146 kB] Get: 192 http://deb.debian.org/debian unstable/main armhf python3-matplotlib armhf 3.8.3-3+b2 [5583 kB] Get: 193 http://deb.debian.org/debian unstable/main armhf python3-nbformat all 5.9.1-1 [45.1 kB] Get: 194 http://deb.debian.org/debian unstable/main armhf python3-urllib3 all 2.3.0-1 [114 kB] Get: 195 http://deb.debian.org/debian unstable/main armhf python3-requests all 2.32.3+dfsg-1 [71.9 kB] Get: 196 http://deb.debian.org/debian unstable/main armhf python3-tenacity all 8.4.2+really8.4.1-2 [46.0 kB] Get: 197 http://deb.debian.org/debian unstable/main armhf python3-plotly all 5.20.0+dfsg-1 [2726 kB] Fetched 109 MB in 10s (10.7 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:armhf. (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 ... 19533 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_armhf.deb ... Unpacking libpython3.13-minimal:armhf (3.13.2-1) ... Selecting previously unselected package libexpat1:armhf. Preparing to unpack .../libexpat1_2.6.4-1_armhf.deb ... Unpacking libexpat1:armhf (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_armhf.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:armhf (3.13.2-1) ... Setting up libexpat1:armhf (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-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 ... 19867 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_armhf.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_11.0.0_all.deb ... Unpacking media-types (11.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:armhf. Preparing to unpack .../4-libffi8_3.4.7-1_armhf.deb ... Unpacking libffi8:armhf (3.4.7-1) ... 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:armhf. Preparing to unpack .../6-libreadline8t64_8.2-6_armhf.deb ... Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:armhf (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:armhf. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_armhf.deb ... Unpacking libpython3.13-stdlib:armhf (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_armhf.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:armhf. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_armhf.deb ... Unpacking libpython3-stdlib:armhf (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... 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 ... 20877 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.1-2_armhf.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libpython3.12-minimal:armhf. Preparing to unpack .../001-libpython3.12-minimal_3.12.9-1_armhf.deb ... Unpacking libpython3.12-minimal:armhf (3.12.9-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../002-python3.12-minimal_3.12.9-1_armhf.deb ... Unpacking python3.12-minimal (3.12.9-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.4.1-1_armhf.deb ... Unpacking openssl (3.4.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3+b1_armhf.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:armhf. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3+b1_armhf.deb ... Unpacking libmagic1t64:armhf (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3+b1_armhf.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.23.1-1_armhf.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:armhf. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_armhf.deb ... Unpacking libuchardet0:armhf (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-7_armhf.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40.4-3_armhf.deb ... Unpacking bsdextrautils (2.40.4-3) ... Selecting previously unselected package libpipeline1:armhf. Preparing to unpack .../013-libpipeline1_1.5.8-1_armhf.deb ... Unpacking libpipeline1:armhf (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.0-1_armhf.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../015-m4_1.4.19-5_armhf.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../016-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../017-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../018-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../019-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libtcl8.6:armhf. Preparing to unpack .../020-libtcl8.6_8.6.16+dfsg-1_armhf.deb ... Unpacking libtcl8.6:armhf (8.6.16+dfsg-1) ... Selecting previously unselected package libbrotli1:armhf. Preparing to unpack .../021-libbrotli1_1.1.0-2+b6_armhf.deb ... Unpacking libbrotli1:armhf (1.1.0-2+b6) ... Selecting previously unselected package libpng16-16t64:armhf. Preparing to unpack .../022-libpng16-16t64_1.6.46-4_armhf.deb ... Unpacking libpng16-16t64:armhf (1.6.46-4) ... Selecting previously unselected package libfreetype6:armhf. Preparing to unpack .../023-libfreetype6_2.13.3+dfsg-1_armhf.deb ... Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../024-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 .../025-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../026-fontconfig-config_2.15.0-2_armhf.deb ... Unpacking fontconfig-config (2.15.0-2) ... Selecting previously unselected package libfontconfig1:armhf. Preparing to unpack .../027-libfontconfig1_2.15.0-2_armhf.deb ... Unpacking libfontconfig1:armhf (2.15.0-2) ... Selecting previously unselected package libxau6:armhf. Preparing to unpack .../028-libxau6_1%3a1.0.11-1_armhf.deb ... Unpacking libxau6:armhf (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:armhf. Preparing to unpack .../029-libxdmcp6_1%3a1.1.5-1_armhf.deb ... Unpacking libxdmcp6:armhf (1:1.1.5-1) ... Selecting previously unselected package libxcb1:armhf. Preparing to unpack .../030-libxcb1_1.17.0-2+b1_armhf.deb ... Unpacking libxcb1:armhf (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../031-libx11-data_2%3a1.8.10-2_all.deb ... Unpacking libx11-data (2:1.8.10-2) ... Selecting previously unselected package libx11-6:armhf. Preparing to unpack .../032-libx11-6_2%3a1.8.10-2_armhf.deb ... Unpacking libx11-6:armhf (2:1.8.10-2) ... Selecting previously unselected package libxrender1:armhf. Preparing to unpack .../033-libxrender1_1%3a0.9.10-1.1+b4_armhf.deb ... Unpacking libxrender1:armhf (1:0.9.10-1.1+b4) ... Selecting previously unselected package libxft2:armhf. Preparing to unpack .../034-libxft2_2.3.6-1+b4_armhf.deb ... Unpacking libxft2:armhf (2.3.6-1+b4) ... Selecting previously unselected package libxext6:armhf. Preparing to unpack .../035-libxext6_2%3a1.3.4-1+b3_armhf.deb ... Unpacking libxext6:armhf (2:1.3.4-1+b3) ... Selecting previously unselected package x11-common. Preparing to unpack .../036-x11-common_1%3a7.7+24_all.deb ... Unpacking x11-common (1:7.7+24) ... Selecting previously unselected package libxss1:armhf. Preparing to unpack .../037-libxss1_1%3a1.2.3-1+b3_armhf.deb ... Unpacking libxss1:armhf (1:1.2.3-1+b3) ... Selecting previously unselected package libtk8.6:armhf. Preparing to unpack .../038-libtk8.6_8.6.16-1_armhf.deb ... Unpacking libtk8.6:armhf (8.6.16-1) ... Selecting previously unselected package tk8.6-blt2.5. Preparing to unpack .../039-tk8.6-blt2.5_2.5.3+dfsg-7_armhf.deb ... Unpacking tk8.6-blt2.5 (2.5.3+dfsg-7) ... Selecting previously unselected package blt. Preparing to unpack .../040-blt_2.5.3+dfsg-7_armhf.deb ... Unpacking blt (2.5.3+dfsg-7) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../041-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../042-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../043-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../044-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 .../045-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../046-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:armhf. Preparing to unpack .../047-libelf1t64_0.192-4_armhf.deb ... Unpacking libelf1t64:armhf (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../048-dwz_0.15-1+b2_armhf.deb ... Unpacking dwz (0.15-1+b2) ... Selecting previously unselected package libunistring5:armhf. Preparing to unpack .../049-libunistring5_1.3-1_armhf.deb ... Unpacking libunistring5:armhf (1.3-1) ... Selecting previously unselected package libicu72:armhf. Preparing to unpack .../050-libicu72_72.1-6_armhf.deb ... Unpacking libicu72:armhf (72.1-6) ... Selecting previously unselected package libxml2:armhf. Preparing to unpack .../051-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_armhf.deb ... Unpacking libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../052-gettext_0.23.1-1_armhf.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../053-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 .../054-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../055-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../056-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../057-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../058-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../059-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../060-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../061-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../062-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 .../063-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../064-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 .../065-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../066-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../067-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package fonts-lyx. Preparing to unpack .../068-fonts-lyx_2.4.3-1_all.deb ... Unpacking fonts-lyx (2.4.3-1) ... Selecting previously unselected package libblas3:armhf. Preparing to unpack .../069-libblas3_3.12.1-2_armhf.deb ... Unpacking libblas3:armhf (3.12.1-2) ... Selecting previously unselected package libcom-err2:armhf. Preparing to unpack .../070-libcom-err2_1.47.2-1_armhf.deb ... Unpacking libcom-err2:armhf (1.47.2-1) ... Selecting previously unselected package libdeflate0:armhf. Preparing to unpack .../071-libdeflate0_1.23-1+b1_armhf.deb ... Unpacking libdeflate0:armhf (1.23-1+b1) ... Selecting previously unselected package liberfa1:armhf. Preparing to unpack .../072-liberfa1_2.0.1-1+b2_armhf.deb ... Unpacking liberfa1:armhf (2.0.1-1+b2) ... Selecting previously unselected package libfribidi0:armhf. Preparing to unpack .../073-libfribidi0_1.0.16-1_armhf.deb ... Unpacking libfribidi0:armhf (1.0.16-1) ... Selecting previously unselected package libgpg-error0:armhf. Preparing to unpack .../074-libgpg-error0_1.51-3_armhf.deb ... Unpacking libgpg-error0:armhf (1.51-3) ... Selecting previously unselected package libgcrypt20:armhf. Preparing to unpack .../075-libgcrypt20_1.11.0-7_armhf.deb ... Unpacking libgcrypt20:armhf (1.11.0-7) ... Selecting previously unselected package libgfortran5:armhf. Preparing to unpack .../076-libgfortran5_14.2.0-17_armhf.deb ... Unpacking libgfortran5:armhf (14.2.0-17) ... Selecting previously unselected package libglib2.0-0t64:armhf. Preparing to unpack .../077-libglib2.0-0t64_2.83.3-2_armhf.deb ... Unpacking libglib2.0-0t64:armhf (2.83.3-2) ... Selecting previously unselected package libgraphite2-3:armhf. Preparing to unpack .../078-libgraphite2-3_1.3.14-2+b1_armhf.deb ... Unpacking libgraphite2-3:armhf (1.3.14-2+b1) ... Selecting previously unselected package libkrb5support0:armhf. Preparing to unpack .../079-libkrb5support0_1.21.3-4_armhf.deb ... Unpacking libkrb5support0:armhf (1.21.3-4) ... Selecting previously unselected package libk5crypto3:armhf. Preparing to unpack .../080-libk5crypto3_1.21.3-4_armhf.deb ... Unpacking libk5crypto3:armhf (1.21.3-4) ... Selecting previously unselected package libkeyutils1:armhf. Preparing to unpack .../081-libkeyutils1_1.6.3-4_armhf.deb ... Unpacking libkeyutils1:armhf (1.6.3-4) ... Selecting previously unselected package libkrb5-3:armhf. Preparing to unpack .../082-libkrb5-3_1.21.3-4_armhf.deb ... Unpacking libkrb5-3:armhf (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:armhf. Preparing to unpack .../083-libgssapi-krb5-2_1.21.3-4_armhf.deb ... Unpacking libgssapi-krb5-2:armhf (1.21.3-4) ... Selecting previously unselected package libharfbuzz0b:armhf. Preparing to unpack .../084-libharfbuzz0b_10.2.0-1_armhf.deb ... Unpacking libharfbuzz0b:armhf (10.2.0-1) ... Selecting previously unselected package libimagequant0:armhf. Preparing to unpack .../085-libimagequant0_2.18.0-1+b2_armhf.deb ... Unpacking libimagequant0:armhf (2.18.0-1+b2) ... Selecting previously unselected package libjbig0:armhf. Preparing to unpack .../086-libjbig0_2.1-6.1+b2_armhf.deb ... Unpacking libjbig0:armhf (2.1-6.1+b2) ... Selecting previously unselected package libjpeg62-turbo:armhf. Preparing to unpack .../087-libjpeg62-turbo_1%3a2.1.5-3+b1_armhf.deb ... Unpacking libjpeg62-turbo:armhf (1:2.1.5-3+b1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../088-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-jquery-hotkeys. Preparing to unpack .../089-libjs-jquery-hotkeys_0.2.0-1_all.deb ... Unpacking libjs-jquery-hotkeys (0.2.0-1) ... Selecting previously unselected package libjs-jquery-isonscreen. Preparing to unpack .../090-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... Selecting previously unselected package libjs-jquery-metadata. Preparing to unpack .../091-libjs-jquery-metadata_12-4_all.deb ... Unpacking libjs-jquery-metadata (12-4) ... Selecting previously unselected package libjs-jquery-tablesorter. Preparing to unpack .../092-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Selecting previously unselected package libjs-jquery-throttle-debounce. Preparing to unpack .../093-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Selecting previously unselected package libjs-jquery-ui. Preparing to unpack .../094-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../095-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 .../096-libjs-sphinxdoc_8.1.3-4_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-4) ... Selecting previously unselected package liblapack3:armhf. Preparing to unpack .../097-liblapack3_3.12.1-2_armhf.deb ... Unpacking liblapack3:armhf (3.12.1-2) ... Selecting previously unselected package liblbfgsb0:armhf. Preparing to unpack .../098-liblbfgsb0_3.0+dfsg.4-1+b2_armhf.deb ... Unpacking liblbfgsb0:armhf (3.0+dfsg.4-1+b2) ... Selecting previously unselected package liblcms2-2:armhf. Preparing to unpack .../099-liblcms2-2_2.16-2_armhf.deb ... Unpacking liblcms2-2:armhf (2.16-2) ... Selecting previously unselected package liblerc4:armhf. Preparing to unpack .../100-liblerc4_4.0.0+ds-5_armhf.deb ... Unpacking liblerc4:armhf (4.0.0+ds-5) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../101-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:armhf. Preparing to unpack .../102-libtirpc3t64_1.3.4+ds-1.3+b1_armhf.deb ... Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:armhf. Preparing to unpack .../103-libnsl2_1.3.0-3+b3_armhf.deb ... Unpacking libnsl2:armhf (1.3.0-3+b3) ... Selecting previously unselected package libopenjp2-7:armhf. Preparing to unpack .../104-libopenjp2-7_2.5.3-1_armhf.deb ... Unpacking libopenjp2-7:armhf (2.5.3-1) ... Selecting previously unselected package libpython3.12-stdlib:armhf. Preparing to unpack .../105-libpython3.12-stdlib_3.12.9-1_armhf.deb ... Unpacking libpython3.12-stdlib:armhf (3.12.9-1) ... Selecting previously unselected package libqhull-r8.0:armhf. Preparing to unpack .../106-libqhull-r8.0_2020.2-6+b2_armhf.deb ... Unpacking libqhull-r8.0:armhf (2020.2-6+b2) ... Selecting previously unselected package libraqm0:armhf. Preparing to unpack .../107-libraqm0_0.10.2-1_armhf.deb ... Unpacking libraqm0:armhf (0.10.2-1) ... Selecting previously unselected package libsharpyuv0:armhf. Preparing to unpack .../108-libsharpyuv0_1.5.0-0.1_armhf.deb ... Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... Selecting previously unselected package libwebp7:armhf. Preparing to unpack .../109-libwebp7_1.5.0-0.1_armhf.deb ... Unpacking libwebp7:armhf (1.5.0-0.1) ... Selecting previously unselected package libtiff6:armhf. Preparing to unpack .../110-libtiff6_4.5.1+git230720-5_armhf.deb ... Unpacking libtiff6:armhf (4.5.1+git230720-5) ... Selecting previously unselected package libwcs8:armhf. Preparing to unpack .../111-libwcs8_8.4+ds-1_armhf.deb ... Unpacking libwcs8:armhf (8.4+ds-1) ... Selecting previously unselected package libwebpdemux2:armhf. Preparing to unpack .../112-libwebpdemux2_1.5.0-0.1_armhf.deb ... Unpacking libwebpdemux2:armhf (1.5.0-0.1) ... Selecting previously unselected package libwebpmux3:armhf. Preparing to unpack .../113-libwebpmux3_1.5.0-0.1_armhf.deb ... Unpacking libwebpmux3:armhf (1.5.0-0.1) ... Selecting previously unselected package libxslt1.1:armhf. Preparing to unpack .../114-libxslt1.1_1.1.35-1.1+b1_armhf.deb ... Unpacking libxslt1.1:armhf (1.1.35-1.1+b1) ... Selecting previously unselected package libyaml-0-2:armhf. Preparing to unpack .../115-libyaml-0-2_0.2.5-2_armhf.deb ... Unpacking libyaml-0-2:armhf (0.2.5-2) ... Selecting previously unselected package python-matplotlib-data. Preparing to unpack .../116-python-matplotlib-data_3.8.3-3_all.deb ... Unpacking python-matplotlib-data (3.8.3-3) ... Selecting previously unselected package python3.12. Preparing to unpack .../117-python3.12_3.12.9-1_armhf.deb ... Unpacking python3.12 (3.12.9-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../118-python3-all_3.13.1-2_armhf.deb ... Unpacking python3-all (3.13.1-2) ... Selecting previously unselected package python3-configobj. Preparing to unpack .../119-python3-configobj_5.0.9-1_all.deb ... Unpacking python3-configobj (5.0.9-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../120-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../121-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../122-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../123-python3-pytest_8.3.4-1_all.deb ... Unpacking python3-pytest (8.3.4-1) ... Selecting previously unselected package python3-attr. Preparing to unpack .../124-python3-attr_25.1.0-1_all.deb ... Unpacking python3-attr (25.1.0-1) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../125-python3-dateutil_2.9.0-3_all.deb ... Unpacking python3-dateutil (2.9.0-3) ... Selecting previously unselected package python3-sortedcontainers. Preparing to unpack .../126-python3-sortedcontainers_2.4.0-2_all.deb ... Unpacking python3-sortedcontainers (2.4.0-2) ... Selecting previously unselected package python3-hypothesis. Preparing to unpack .../127-python3-hypothesis_6.125.2-1_all.deb ... Unpacking python3-hypothesis (6.125.2-1) ... Selecting previously unselected package python3-numpy-dev:armhf. Preparing to unpack .../128-python3-numpy-dev_1%3a2.2.2+ds-2_armhf.deb ... Unpacking python3-numpy-dev:armhf (1:2.2.2+ds-2) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../129-python3-numpy_1%3a2.2.2+ds-2_armhf.deb ... Unpacking python3-numpy (1:2.2.2+ds-2) ... Selecting previously unselected package python3-pytest-arraydiff. Preparing to unpack .../130-python3-pytest-arraydiff_0.6.1-3_all.deb ... Unpacking python3-pytest-arraydiff (0.6.1-3) ... Selecting previously unselected package python3-pytest-astropy-header. Preparing to unpack .../131-python3-pytest-astropy-header_0.2.2-2_all.deb ... Unpacking python3-pytest-astropy-header (0.2.2-2) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../132-python3-coverage_7.6.0+dfsg1-2+b1_armhf.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b1) ... Selecting previously unselected package python3-pytest-cov. Preparing to unpack .../133-python3-pytest-cov_5.0.0-1_all.deb ... Unpacking python3-pytest-cov (5.0.0-1) ... Selecting previously unselected package python3-pytest-doctestplus. Preparing to unpack .../134-python3-pytest-doctestplus_1.4.0-1_all.deb ... Unpacking python3-pytest-doctestplus (1.4.0-1) ... Selecting previously unselected package python3-pytest-filter-subpackage. Preparing to unpack .../135-python3-pytest-filter-subpackage_0.2.0-1_all.deb ... Unpacking python3-pytest-filter-subpackage (0.2.0-1) ... Selecting previously unselected package python3-pytest-mock. Preparing to unpack .../136-python3-pytest-mock_3.14.0-2_all.deb ... Unpacking python3-pytest-mock (3.14.0-2) ... Selecting previously unselected package python3-pytest-remotedata. Preparing to unpack .../137-python3-pytest-remotedata_0.4.1-1_all.deb ... Unpacking python3-pytest-remotedata (0.4.1-1) ... Selecting previously unselected package python3-pytest-astropy. Preparing to unpack .../138-python3-pytest-astropy_0.11.0-1_all.deb ... Unpacking python3-pytest-astropy (0.11.0-1) ... Selecting previously unselected package python3-ply. Preparing to unpack .../139-python3-ply_3.11-7_all.deb ... Unpacking python3-ply (3.11-7) ... Selecting previously unselected package python3-astropy-iers-data. Preparing to unpack .../140-python3-astropy-iers-data_0.2025.1.6.0.33.42-1_all.deb ... Unpacking python3-astropy-iers-data (0.2025.1.6.0.33.42-1) ... Selecting previously unselected package python3-erfa. Preparing to unpack .../141-python3-erfa_2.0.1.5+ds-1+b1_armhf.deb ... Unpacking python3-erfa (2.0.1.5+ds-1+b1) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../142-python3-yaml_6.0.2-1+b1_armhf.deb ... Unpacking python3-yaml (6.0.2-1+b1) ... Selecting previously unselected package python3-astropy. Preparing to unpack .../143-python3-astropy_7.0.1-1_armhf.deb ... Unpacking python3-astropy (7.0.1-1) ... Selecting previously unselected package python3-brotli. Preparing to unpack .../144-python3-brotli_1.1.0-2+b6_armhf.deb ... Unpacking python3-brotli (1.1.0-2+b6) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../145-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../146-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 .../147-python3-charset-normalizer_3.4.0-1+b1_armhf.deb ... Unpacking python3-charset-normalizer (3.4.0-1+b1) ... Selecting previously unselected package python3-contourpy. Preparing to unpack .../148-python3-contourpy_1.3.1-1_armhf.deb ... Unpacking python3-contourpy (1.3.1-1) ... Selecting previously unselected package python3-cycler. Preparing to unpack .../149-python3-cycler_0.12.1-1_all.deb ... Unpacking python3-cycler (0.12.1-1) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../150-python3-decorator_5.1.1-5_all.deb ... Unpacking python3-decorator (5.1.1-5) ... Selecting previously unselected package python3-fastjsonschema. Preparing to unpack .../151-python3-fastjsonschema_2.21.1-1_all.deb ... Unpacking python3-fastjsonschema (2.21.1-1) ... Selecting previously unselected package python3-pytz. Preparing to unpack .../152-python3-pytz_2025.1-3_all.deb ... Unpacking python3-pytz (2025.1-3) ... Selecting previously unselected package python3-tz. Preparing to unpack .../153-python3-tz_2025.1-3_all.deb ... Unpacking python3-tz (2025.1-3) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../154-python3-platformdirs_4.3.6-1_all.deb ... Unpacking python3-platformdirs (4.3.6-1) ... Selecting previously unselected package python3-fs. Preparing to unpack .../155-python3-fs_2.4.16-6_all.deb ... Unpacking python3-fs (2.4.16-6) ... Selecting previously unselected package python3-lxml:armhf. Preparing to unpack .../156-python3-lxml_5.3.1-1_armhf.deb ... Unpacking python3-lxml:armhf (5.3.1-1) ... Selecting previously unselected package python3-lz4. Preparing to unpack .../157-python3-lz4_4.4.0+dfsg-1_armhf.deb ... Unpacking python3-lz4 (4.4.0+dfsg-1) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../158-python3-scipy_1.14.1-4_armhf.deb ... Unpacking python3-scipy (1.14.1-4) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../159-python3-mpmath_1.3.0-1_all.deb ... Unpacking python3-mpmath (1.3.0-1) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../160-python3-sympy_1.13.3-2_all.deb ... Unpacking python3-sympy (1.13.3-2) ... Selecting previously unselected package python3-ufolib2. Preparing to unpack .../161-python3-ufolib2_0.17.0+dfsg1-1_all.deb ... Unpacking python3-ufolib2 (0.17.0+dfsg1-1) ... Selecting previously unselected package unicode-data. Preparing to unpack .../162-unicode-data_15.1.0-1_all.deb ... Unpacking unicode-data (15.1.0-1) ... Selecting previously unselected package python3-fonttools. Preparing to unpack .../163-python3-fonttools_4.55.3-2_armhf.deb ... Unpacking python3-fonttools (4.55.3-2) ... Selecting previously unselected package python3-idna. Preparing to unpack .../164-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-rpds-py. Preparing to unpack .../165-python3-rpds-py_0.21.0-2_armhf.deb ... Unpacking python3-rpds-py (0.21.0-2) ... Selecting previously unselected package python3-referencing. Preparing to unpack .../166-python3-referencing_0.35.1-2_all.deb ... Unpacking python3-referencing (0.35.1-2) ... Selecting previously unselected package python3-jsonschema-specifications. Preparing to unpack .../167-python3-jsonschema-specifications_2023.12.1-2_all.deb ... Unpacking python3-jsonschema-specifications (2023.12.1-2) ... Selecting previously unselected package python3-jsonschema. Preparing to unpack .../168-python3-jsonschema_4.19.2-6_all.deb ... Unpacking python3-jsonschema (4.19.2-6) ... Selecting previously unselected package python3-traitlets. Preparing to unpack .../169-python3-traitlets_5.14.3+really5.14.3-1_all.deb ... Unpacking python3-traitlets (5.14.3+really5.14.3-1) ... Selecting previously unselected package python3-jupyter-core. Preparing to unpack .../170-python3-jupyter-core_5.7.2-5_all.deb ... Unpacking python3-jupyter-core (5.7.2-5) ... Selecting previously unselected package python3-kiwisolver. Preparing to unpack .../171-python3-kiwisolver_1.4.7-3_armhf.deb ... Unpacking python3-kiwisolver (1.4.7-3) ... Selecting previously unselected package python3-pil:armhf. Preparing to unpack .../172-python3-pil_11.1.0-5_armhf.deb ... Unpacking python3-pil:armhf (11.1.0-5) ... Selecting previously unselected package python3.12-tk. Preparing to unpack .../173-python3.12-tk_3.12.9-1_armhf.deb ... Unpacking python3.12-tk (3.12.9-1) ... Selecting previously unselected package python3.13-tk. Preparing to unpack .../174-python3.13-tk_3.13.2-1_armhf.deb ... Unpacking python3.13-tk (3.13.2-1) ... Selecting previously unselected package python3-tk:armhf. Preparing to unpack .../175-python3-tk_3.13.1-1_armhf.deb ... Unpacking python3-tk:armhf (3.13.1-1) ... Selecting previously unselected package python3-pil.imagetk:armhf. Preparing to unpack .../176-python3-pil.imagetk_11.1.0-5_armhf.deb ... Unpacking python3-pil.imagetk:armhf (11.1.0-5) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../177-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-matplotlib. Preparing to unpack .../178-python3-matplotlib_3.8.3-3+b2_armhf.deb ... Unpacking python3-matplotlib (3.8.3-3+b2) ... Selecting previously unselected package python3-nbformat. Preparing to unpack .../179-python3-nbformat_5.9.1-1_all.deb ... Unpacking python3-nbformat (5.9.1-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../180-python3-urllib3_2.3.0-1_all.deb ... Unpacking python3-urllib3 (2.3.0-1) ... Selecting previously unselected package python3-requests. Preparing to unpack .../181-python3-requests_2.32.3+dfsg-1_all.deb ... Unpacking python3-requests (2.32.3+dfsg-1) ... Selecting previously unselected package python3-tenacity. Preparing to unpack .../182-python3-tenacity_8.4.2+really8.4.1-2_all.deb ... Unpacking python3-tenacity (8.4.2+really8.4.1-2) ... Selecting previously unselected package python3-plotly. Preparing to unpack .../183-python3-plotly_5.20.0+dfsg-1_all.deb ... Unpacking python3-plotly (5.20.0+dfsg-1) ... Setting up libwcs8:armhf (8.4+ds-1) ... Setting up media-types (11.0.0) ... Setting up libpipeline1:armhf (1.5.8-1) ... Setting up liberfa1:armhf (2.0.1-1+b2) ... Setting up libgraphite2-3:armhf (1.3.14-2+b1) ... Setting up liblcms2-2:armhf (2.16-2) ... Setting up libsharpyuv0:armhf (1.5.0-0.1) ... Setting up libxau6:armhf (1:1.0.11-1) ... Setting up libxdmcp6:armhf (1:1.1.5-1) ... Setting up libkeyutils1:armhf (1.6.3-4) ... Setting up libxcb1:armhf (1.17.0-2+b1) ... Setting up libicu72:armhf (72.1-6) ... Setting up liblerc4:armhf (4.0.0+ds-5) ... Setting up bsdextrautils (2.40.4-3) ... Setting up libgpg-error0:armhf (1.51-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:armhf (0.2.5-2) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up fonts-lyx (2.4.3-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libbrotli1:armhf (1.1.0-2+b6) ... Setting up libmagic1t64:armhf (1:5.45-3+b1) ... Setting up libpython3.12-minimal:armhf (3.12.9-1) ... Setting up x11-common (1:7.7+24) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libdeflate0:armhf (1.23-1+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libgcrypt20:armhf (1.11.0-7) ... Setting up libqhull-r8.0:armhf (2020.2-6+b2) ... Setting up libcom-err2:armhf (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Setting up libjbig0:armhf (2.1-6.1+b2) ... Setting up libelf1t64:armhf (0.192-4) ... Setting up libkrb5support0:armhf (1.21.3-4) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Feb 15 00:01:17 UTC 2025. Universal Time is now: Sat Feb 15 00:01:17 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up unicode-data (15.1.0-1) ... Setting up autotools-dev (20220109.1) ... Setting up libblas3:armhf (3.12.1-2) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode Setting up libjpeg62-turbo:armhf (1:2.1.5-3+b1) ... Setting up libx11-data (2:1.8.10-2) ... Setting up libfribidi0:armhf (1.0.16-1) ... Setting up libimagequant0:armhf (2.18.0-1+b2) ... Setting up libunistring5:armhf (1.3-1) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libpng16-16t64:armhf (1.6.46-4) ... Setting up python3-numpy-dev:armhf (1:2.2.2+ds-2) ... Setting up libtcl8.6:armhf (8.6.16+dfsg-1) ... Setting up autopoint (0.23.1-1) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up libk5crypto3:armhf (1.21.3-4) ... Setting up libgfortran5:armhf (14.2.0-17) ... Setting up autoconf (2.72-3) ... Setting up libwebp7:armhf (1.5.0-0.1) ... Setting up libffi8:armhf (3.4.7-1) ... Setting up dwz (0.15-1+b2) ... Setting up sensible-utils (0.0.24) ... Setting up libtiff6:armhf (4.5.1+git230720-5) ... Setting up libuchardet0:armhf (0.0.8-1+b2) ... Setting up libopenjp2-7:armhf (2.5.3-1) ... Setting up libx11-6:armhf (2:1.8.10-2) ... Setting up netbase (6.4) ... Setting up libkrb5-3:armhf (1.21.3-4) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libjs-jquery-hotkeys (0.2.0-1) ... Setting up python-matplotlib-data (3.8.3-3) ... Setting up openssl (3.4.1-1) ... Setting up libwebpmux3:armhf (1.5.0-0.1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up python3.12-minimal (3.12.9-1) ... Setting up liblapack3:armhf (3.12.1-2) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode Setting up gettext (0.23.1-1) ... Setting up libxrender1:armhf (1:0.9.10-1.1+b4) ... Setting up libtool (2.5.4-3) ... Setting up fontconfig-config (2.15.0-2) ... Setting up libwebpdemux2:armhf (1.5.0-0.1) ... Setting up libxext6:armhf (2:1.3.4-1+b3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libglib2.0-0t64:armhf (2.83.3-2) ... No schema files found: doing nothing. Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... Setting up libjs-jquery-metadata (12-4) ... Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... Setting up libgssapi-krb5-2:armhf (1.21.3-4) ... Setting up libjs-sphinxdoc (8.1.3-4) ... Setting up libreadline8t64:armhf (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Setting up groff-base (1.23.0-7) ... Setting up libxslt1.1:armhf (1.1.35-1.1+b1) ... Setting up libharfbuzz0b:armhf (10.2.0-1) ... Setting up libxss1:armhf (1:1.2.3-1+b3) ... Setting up libfontconfig1:armhf (2.15.0-2) ... Setting up libpython3.13-stdlib:armhf (3.13.2-1) ... Setting up libpython3-stdlib:armhf (3.13.1-2) ... Setting up liblbfgsb0:armhf (3.0+dfsg.4-1+b2) ... Setting up libxft2:armhf (2.3.6-1+b4) ... Setting up libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.2-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libtk8.6:armhf (8.6.16-1) ... Setting up python3.12-tk (3.12.9-1) ... Setting up python3 (3.13.1-2) ... Setting up python3-sortedcontainers (2.4.0-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-astropy-iers-data (0.2025.1.6.0.33.42-1) ... Setting up python3.13-tk (3.13.2-1) ... Setting up python3-platformdirs (4.3.6-1) ... Setting up python3-decorator (5.1.1-5) ... Setting up python3-packaging (24.2-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-configobj (5.0.9-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up python3-brotli (1.1.0-2+b6) ... Setting up libraqm0:armhf (0.10.2-1) ... Setting up python3-cycler (0.12.1-1) ... Setting up python3-kiwisolver (1.4.7-3) ... Setting up python3-idna (3.10-1) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-numpy (1:2.2.2+ds-2) ... Setting up python3-urllib3 (2.3.0-1) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-rpds-py (0.21.0-2) ... Setting up python3-fastjsonschema (2.21.1-1) ... Setting up python3-lxml:armhf (5.3.1-1) ... Setting up python3-traitlets (5.14.3+really5.14.3-1) ... Setting up libnsl2:armhf (1.3.0-3+b3) ... Setting up python3-dateutil (2.9.0-3) ... Setting up python3-contourpy (1.3.1-1) ... Setting up python3-mpmath (1.3.0-1) ... Setting up python3-jupyter-core (5.7.2-5) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-sympy (1.13.3-2) ... Setting up python3-attr (25.1.0-1) ... Setting up tk8.6-blt2.5 (2.5.3+dfsg-7) ... Setting up python3-scipy (1.14.1-4) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up libpython3.12-stdlib:armhf (3.12.9-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-lz4 (4.4.0+dfsg-1) ... Setting up python3-charset-normalizer (3.4.0-1+b1) ... Setting up python3-pytest (8.3.4-1) ... Setting up blt (2.5.3+dfsg-7) ... Setting up python3-tenacity (8.4.2+really8.4.1-2) ... Setting up python3.12 (3.12.9-1) ... Setting up python3-hypothesis (6.125.2-1) ... Setting up python3-ply (3.11-7) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-all (3.13.1-2) ... Setting up python3-coverage (7.6.0+dfsg1-2+b1) ... Setting up python3-yaml (6.0.2-1+b1) ... Setting up python3-tk:armhf (3.13.1-1) ... Setting up debhelper (13.24.1) ... Setting up python3-pytz (2025.1-3) ... Setting up python3-pytest-cov (5.0.0-1) ... Setting up python3-pytest-arraydiff (0.6.1-3) ... Setting up python3-tz (2025.1-3) ... Setting up python3-fs (2.4.16-6) ... Setting up python3-pil:armhf (11.1.0-5) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-erfa (2.0.1.5+ds-1+b1) ... Setting up python3-pil.imagetk:armhf (11.1.0-5) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-requests (2.32.3+dfsg-1) ... Setting up python3-pytest-remotedata (0.4.1-1) ... Setting up python3-pytest-doctestplus (1.4.0-1) ... Setting up python3-pytest-mock (3.14.0-2) ... Setting up python3-pytest-filter-subpackage (0.2.0-1) ... Setting up python3-pytest-astropy-header (0.2.2-2) ... Setting up python3-referencing (0.35.1-2) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-setuptools (75.6.0-1) ... Setting up python3-pytest-astropy (0.11.0-1) ... Setting up python3-jsonschema-specifications (2023.12.1-2) ... Setting up python3-astropy (7.0.1-1) ... Setting up dh-python (6.20250108) ... Setting up python3-jsonschema (4.19.2-6) ... Setting up python3-nbformat (5.9.1-1) ... Setting up python3-plotly (5.20.0+dfsg-1) ... Setting up python3-ufolib2 (0.17.0+dfsg1-1) ... Setting up python3-fonttools (4.55.3-2) ... Setting up python3-matplotlib (3.8.3-3+b2) ... Processing triggers for libc-bin (2.40-6) ... Processing triggers for ca-certificates (20241223) ... 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 Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/einsteinpy-0.4.0/ && 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 > ../einsteinpy_0.4.0-3_source.changes dpkg-buildpackage: info: source package einsteinpy dpkg-buildpackage: info: source version 0.4.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Ole Streicher dpkg-source --before-build . dpkg-buildpackage: info: host architecture armhf debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'setup_cfg' warnings.warn(msg) running clean removing '/build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build' (and everything under it) 'build/bdist.linux-armv7l' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'setup_cfg' warnings.warn(msg) running clean removing '/build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build' (and everything under it) 'build/bdist.linux-armv7l' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'setup_cfg' warnings.warn(msg) running config I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'setup_cfg' warnings.warn(msg) running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'setup_cfg' warnings.warn(msg) running build running build_py creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy copying src/einsteinpy/examples.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy copying src/einsteinpy/ijit.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy copying src/einsteinpy/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy copying src/einsteinpy/bodies.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy copying src/einsteinpy/constant.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy copying src/einsteinpy/units.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/dual.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/scalar_factor.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/exceptions.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/utils creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/kerr.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/base_metric.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/kerrnewman.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/schwarzschild.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/metric creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/weyl.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/christoffel.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/riemann.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/metric.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/vector.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/constants.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/einstein.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/stress_energy_momentum.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/schouten.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/ricci.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/helpers.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/tensor.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/rays copying src/einsteinpy/rays/shadow.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/rays copying src/einsteinpy/rays/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/rays creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/geodesic copying src/einsteinpy/geodesic/geodesic.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/geodesic copying src/einsteinpy/geodesic/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/geodesic copying src/einsteinpy/geodesic/utils.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/geodesic creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting copying src/einsteinpy/plotting/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting copying src/einsteinpy/plotting/fractal.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/hypersurface copying src/einsteinpy/hypersurface/schwarzschildembedding.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/hypersurface copying src/einsteinpy/hypersurface/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/hypersurface creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/differential.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/conversion.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/core.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/utils.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/coordinates creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/utils.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/runge_kutta.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/fantasy.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/integrators creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/godel.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/janis_newman_winicour.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/bessel_gravitational_wave.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/find.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/ernst.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/davidson.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/barriola_vilenkin.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/bertotti_kasner.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/alcubierre_warp.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/vacuum_solutions.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/cmetric.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/minkowski.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/de_sitter.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/symbolic/predefined creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/rays copying src/einsteinpy/plotting/rays/shadow.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/rays copying src/einsteinpy/plotting/rays/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/rays creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/static.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/core.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/interactive.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/geodesic creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/hypersurface copying src/einsteinpy/plotting/hypersurface/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/hypersurface copying src/einsteinpy/plotting/hypersurface/core.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/plotting/hypersurface running egg_info creating src/einsteinpy.egg-info writing src/einsteinpy.egg-info/PKG-INFO writing dependency_links to src/einsteinpy.egg-info/dependency_links.txt writing requirements to src/einsteinpy.egg-info/requires.txt writing top-level names to src/einsteinpy.egg-info/top_level.txt writing manifest file 'src/einsteinpy.egg-info/SOURCES.txt' reading manifest file 'src/einsteinpy.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.py' under directory 'src/einsteinpy/tests' warning: no files found matching '*.html' under directory 'src/einsteinpy/tests' no previously-included directories found matching 'docs/source/examples/.ipynb_checkpoints' warning: no previously-included files matching '*.py[cod]' found anywhere in distribution warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.so' found anywhere in distribution warning: no previously-included files matching '*.dylib' found anywhere in distribution adding license file 'COPYING' adding license file 'AUTHORS' writing manifest file 'src/einsteinpy.egg-info/SOURCES.txt' I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'setup_cfg' warnings.warn(msg) running build running build_py creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy copying src/einsteinpy/examples.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy copying src/einsteinpy/ijit.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy copying src/einsteinpy/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy copying src/einsteinpy/bodies.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy copying src/einsteinpy/constant.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy copying src/einsteinpy/units.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/dual.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/scalar_factor.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/utils copying src/einsteinpy/utils/exceptions.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/utils creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/kerr.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/base_metric.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/kerrnewman.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/metric copying src/einsteinpy/metric/schwarzschild.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/metric creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/weyl.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/christoffel.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/riemann.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/metric.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/vector.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/constants.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/einstein.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/stress_energy_momentum.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/schouten.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/ricci.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/helpers.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic copying src/einsteinpy/symbolic/tensor.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/rays copying src/einsteinpy/rays/shadow.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/rays copying src/einsteinpy/rays/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/rays creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/geodesic copying src/einsteinpy/geodesic/geodesic.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/geodesic copying src/einsteinpy/geodesic/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/geodesic copying src/einsteinpy/geodesic/utils.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/geodesic creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting copying src/einsteinpy/plotting/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting copying src/einsteinpy/plotting/fractal.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/hypersurface copying src/einsteinpy/hypersurface/schwarzschildembedding.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/hypersurface copying src/einsteinpy/hypersurface/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/hypersurface creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/differential.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/conversion.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/core.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/coordinates copying src/einsteinpy/coordinates/utils.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/coordinates creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/utils.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/runge_kutta.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/integrators copying src/einsteinpy/integrators/fantasy.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/integrators creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/godel.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/janis_newman_winicour.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/bessel_gravitational_wave.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/find.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/ernst.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/davidson.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/barriola_vilenkin.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/bertotti_kasner.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/alcubierre_warp.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/vacuum_solutions.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/cmetric.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/minkowski.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined copying src/einsteinpy/symbolic/predefined/de_sitter.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/symbolic/predefined creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/rays copying src/einsteinpy/plotting/rays/shadow.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/rays copying src/einsteinpy/plotting/rays/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/rays creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/static.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/core.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/geodesic copying src/einsteinpy/plotting/geodesic/interactive.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/geodesic creating /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/hypersurface copying src/einsteinpy/plotting/hypersurface/__init__.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/hypersurface copying src/einsteinpy/plotting/hypersurface/core.py -> /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/plotting/hypersurface running egg_info writing src/einsteinpy.egg-info/PKG-INFO writing dependency_links to src/einsteinpy.egg-info/dependency_links.txt writing requirements to src/einsteinpy.egg-info/requires.txt writing top-level names to src/einsteinpy.egg-info/top_level.txt reading manifest file 'src/einsteinpy.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.py' under directory 'src/einsteinpy/tests' warning: no files found matching '*.html' under directory 'src/einsteinpy/tests' no previously-included directories found matching 'docs/source/examples/.ipynb_checkpoints' warning: no previously-included files matching '*.py[cod]' found anywhere in distribution warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.so' found anywhere in distribution warning: no previously-included files matching '*.dylib' found anywhere in distribution adding license file 'COPYING' adding license file 'AUTHORS' writing manifest file 'src/einsteinpy.egg-info/SOURCES.txt' dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build; python3.12 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0 rootdir: /build/reproducible-path/einsteinpy-0.4.0 configfile: setup.cfg plugins: arraydiff-0.6.1, hypothesis-6.125.2, cov-5.0.0, mock-3.14.0, filter-subpackage-0.2.0, astropy-0.11.0, remotedata-0.4.1, doctestplus-1.4.0, typeguard-4.4.1, astropy-header-0.2.2 collected 296 items tests/test_bodies.py ......................... [ 8%] tests/test_constant.py ... [ 9%] tests/test_coordinates/test_conversions.py .......... [ 12%] tests/test_coordinates/test_coord_transform.py ................ [ 18%] tests/test_coordinates/test_diff_transform.py ................. [ 23%] tests/test_coordinates/test_utils.py .... [ 25%] tests/test_examples.py . [ 25%] tests/test_geodesic/test_geodesic.py ......... [ 28%] tests/test_geodesic/test_geodesic_utils.py ...... [ 30%] tests/test_hypersurface/test_schwarzschildembedding.py .... [ 32%] tests/test_ijit/test_ijit_without_numba.py .. [ 32%] tests/test_integrators/test_geod_int.py ............ [ 36%] tests/test_integrators/test_runge_kutta.py . [ 37%] tests/test_metric/test_base_metric.py ............... [ 42%] tests/test_metric/test_kerr.py ... [ 43%] tests/test_metric/test_kerrnewman.py ........ [ 45%] tests/test_metric/test_schwarzschild.py . [ 46%] tests/test_plotting/test_fractal.py .. [ 46%] tests/test_plotting/test_geodesic/test_interactive.py ........ [ 49%] tests/test_plotting/test_geodesic/test_static.py ............ [ 53%] tests/test_plotting/test_hypersurface.py .. [ 54%] tests/test_plotting/test_rays/test_shadow.py EE [ 55%] tests/test_symbolic/test_christoffel.py ...... [ 57%] tests/test_symbolic/test_constants.py .. [ 57%] tests/test_symbolic/test_einstein.py ..... [ 59%] tests/test_symbolic/test_helpers.py .x....... [ 62%] tests/test_symbolic/test_metric.py ....... [ 64%] tests/test_symbolic/test_predefined/test_all.py ........................ [ 72%] . [ 73%] tests/test_symbolic/test_predefined/test_find.py .. [ 73%] tests/test_symbolic/test_ricci.py ....... [ 76%] tests/test_symbolic/test_riemann.py .... [ 77%] tests/test_symbolic/test_schouten.py .... [ 79%] tests/test_symbolic/test_stress_energy_momentum.py ... [ 80%] tests/test_symbolic/test_tensor.py .........xxxxxx...x..... [ 88%] tests/test_symbolic/test_vector.py .x.. [ 89%] tests/test_symbolic/test_weyl.py ...... [ 91%] tests/test_units.py . [ 91%] tests/test_utils/test_dual.py ................... [ 98%] tests/test_utils/test_exceptions.py . [ 98%] tests/test_utils/test_scalar_factor.py .... [100%] ==================================== ERRORS ==================================== ____________ ERROR at setup of test_plotter_has_correct_attributes _____________ @pytest.fixture() def dummy_data(): mass = 1 * u.kg fov = 30 * u.km > shadow = Shadow(mass=mass, fov=fov, n_rays=1000) tests/test_plotting/test_rays/test_shadow.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/astropy/units/decorators.py:316: in wrapper return_ = wrapped_function(*func_args, **func_kwargs) einsteinpy/rays/shadow.py:29: in __init__ root = newton(self._root_equation, 0.1, args=(i,)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ func = > x0 = np.float64(0.1), fprime = None, args = (np.float64(5.196152422706632),) tol = 1.48e-08, maxiter = 50, fprime2 = None, x1 = None, rtol = 0.0 full_output = False, disp = True def newton(func, x0, fprime=None, args=(), tol=1.48e-8, maxiter=50, fprime2=None, x1=None, rtol=0.0, full_output=False, disp=True): """ Find a root of a real or complex function using the Newton-Raphson (or secant or Halley's) method. Find a root of the scalar-valued function `func` given a nearby scalar starting point `x0`. The Newton-Raphson method is used if the derivative `fprime` of `func` is provided, otherwise the secant method is used. If the second order derivative `fprime2` of `func` is also provided, then Halley's method is used. If `x0` is a sequence with more than one item, `newton` returns an array: the roots of the function from each (scalar) starting point in `x0`. In this case, `func` must be vectorized to return a sequence or array of the same shape as its first argument. If `fprime` (`fprime2`) is given, then its return must also have the same shape: each element is the first (second) derivative of `func` with respect to its only variable evaluated at each element of its first argument. `newton` is for finding roots of a scalar-valued functions of a single variable. For problems involving several variables, see `root`. Parameters ---------- func : callable The function whose root is wanted. It must be a function of a single variable of the form ``f(x,a,b,c...)``, where ``a,b,c...`` are extra arguments that can be passed in the `args` parameter. x0 : float, sequence, or ndarray An initial estimate of the root that should be somewhere near the actual root. If not scalar, then `func` must be vectorized and return a sequence or array of the same shape as its first argument. fprime : callable, optional The derivative of the function when available and convenient. If it is None (default), then the secant method is used. args : tuple, optional Extra arguments to be used in the function call. tol : float, optional The allowable error of the root's value. If `func` is complex-valued, a larger `tol` is recommended as both the real and imaginary parts of `x` contribute to ``|x - x0|``. maxiter : int, optional Maximum number of iterations. fprime2 : callable, optional The second order derivative of the function when available and convenient. If it is None (default), then the normal Newton-Raphson or the secant method is used. If it is not None, then Halley's method is used. x1 : float, optional Another estimate of the root that should be somewhere near the actual root. Used if `fprime` is not provided. rtol : float, optional Tolerance (relative) for termination. full_output : bool, optional If `full_output` is False (default), the root is returned. If True and `x0` is scalar, the return value is ``(x, r)``, where ``x`` is the root and ``r`` is a `RootResults` object. If True and `x0` is non-scalar, the return value is ``(x, converged, zero_der)`` (see Returns section for details). disp : bool, optional If True, raise a RuntimeError if the algorithm didn't converge, with the error message containing the number of iterations and current function value. Otherwise, the convergence status is recorded in a `RootResults` return object. Ignored if `x0` is not scalar. *Note: this has little to do with displaying, however, the `disp` keyword cannot be renamed for backwards compatibility.* Returns ------- root : float, sequence, or ndarray Estimated location where function is zero. r : `RootResults`, optional Present if ``full_output=True`` and `x0` is scalar. Object containing information about the convergence. In particular, ``r.converged`` is True if the routine converged. converged : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements converged successfully. zero_der : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements had a zero derivative. See Also -------- root_scalar : interface to root solvers for scalar functions root : interface to root solvers for multi-input, multi-output functions Notes ----- The convergence rate of the Newton-Raphson method is quadratic, the Halley method is cubic, and the secant method is sub-quadratic. This means that if the function is well-behaved the actual error in the estimated root after the nth iteration is approximately the square (cube for Halley) of the error after the (n-1)th step. However, the stopping criterion used here is the step size and there is no guarantee that a root has been found. Consequently, the result should be verified. Safer algorithms are brentq, brenth, ridder, and bisect, but they all require that the root first be bracketed in an interval where the function changes sign. The brentq algorithm is recommended for general use in one dimensional problems when such an interval has been found. When `newton` is used with arrays, it is best suited for the following types of problems: * The initial guesses, `x0`, are all relatively the same distance from the roots. * Some or all of the extra arguments, `args`, are also arrays so that a class of similar problems can be solved together. * The size of the initial guesses, `x0`, is larger than O(100) elements. Otherwise, a naive loop may perform as well or better than a vector. Examples -------- >>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import optimize >>> def f(x): ... return (x**3 - 1) # only one real root at x = 1 ``fprime`` is not provided, use the secant method: >>> root = optimize.newton(f, 1.5) >>> root 1.0000000000000016 >>> root = optimize.newton(f, 1.5, fprime2=lambda x: 6 * x) >>> root 1.0000000000000016 Only ``fprime`` is provided, use the Newton-Raphson method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2) >>> root 1.0 Both ``fprime2`` and ``fprime`` are provided, use Halley's method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2, ... fprime2=lambda x: 6 * x) >>> root 1.0 When we want to find roots for a set of related starting values and/or function parameters, we can provide both of those as an array of inputs: >>> f = lambda x, a: x**3 - a >>> fder = lambda x, a: 3 * x**2 >>> rng = np.random.default_rng() >>> x = rng.standard_normal(100) >>> a = np.arange(-50, 50) >>> vec_res = optimize.newton(f, x, fprime=fder, args=(a, ), maxiter=200) The above is the equivalent of solving for each value in ``(x, a)`` separately in a for-loop, just faster: >>> loop_res = [optimize.newton(f, x0, fprime=fder, args=(a0,), ... maxiter=200) ... for x0, a0 in zip(x, a)] >>> np.allclose(vec_res, loop_res) True Plot the results found for all values of ``a``: >>> analytical_result = np.sign(a) * np.abs(a)**(1/3) >>> fig, ax = plt.subplots() >>> ax.plot(a, analytical_result, 'o') >>> ax.plot(a, vec_res, '.') >>> ax.set_xlabel('$a$') >>> ax.set_ylabel('$x$ where $f(x, a)=0$') >>> plt.show() """ if tol <= 0: raise ValueError("tol too small (%g <= 0)" % tol) maxiter = operator.index(maxiter) if maxiter < 1: raise ValueError("maxiter must be greater than 0") if np.size(x0) > 1: return _array_newton(func, x0, fprime, args, tol, maxiter, fprime2, full_output) # Convert to float (don't use float(x0); this works also for complex x0) # Use np.asarray because we want x0 to be a numpy object, not a Python # object. e.g. np.complex(1+1j) > 0 is possible, but (1 + 1j) > 0 raises # a TypeError x0 = np.asarray(x0)[()] * 1.0 p0 = x0 funcalls = 0 if fprime is not None: # Newton-Raphson method method = "newton" for itr in range(maxiter): # first evaluate fval fval = func(p0, *args) funcalls += 1 # If fval is 0, a root has been found, then terminate if fval == 0: return _results_select( full_output, (p0, funcalls, itr, _ECONVERGED), method) fder = fprime(p0, *args) funcalls += 1 if fder == 0: msg = "Derivative was zero." if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p0)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) return _results_select( full_output, (p0, funcalls, itr + 1, _ECONVERR), method) newton_step = fval / fder if fprime2: fder2 = fprime2(p0, *args) funcalls += 1 method = "halley" # Halley's method: # newton_step /= (1.0 - 0.5 * newton_step * fder2 / fder) # Only do it if denominator stays close enough to 1 # Rationale: If 1-adj < 0, then Halley sends x in the # opposite direction to Newton. Doesn't happen if x is close # enough to root. adj = newton_step * fder2 / fder / 2 if np.abs(adj) < 1: newton_step /= 1.0 - adj p = p0 - newton_step if np.isclose(p, p0, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0 = p else: # Secant method method = "secant" if x1 is not None: if x1 == x0: raise ValueError("x1 and x0 must be different") p1 = x1 else: eps = 1e-4 p1 = x0 * (1 + eps) p1 += (eps if p1 >= 0 else -eps) q0 = func(p0, *args) funcalls += 1 q1 = func(p1, *args) funcalls += 1 if abs(q1) < abs(q0): p0, p1, q0, q1 = p1, p0, q1, q0 for itr in range(maxiter): if q1 == q0: if p1 != p0: msg = "Tolerance of %s reached." % (p1 - p0) if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p1)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) p = (p1 + p0) / 2.0 return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERR), method) else: if abs(q1) > abs(q0): p = (-q0 / q1 * p1 + p0) / (1 - q0 / q1) else: p = (-q1 / q0 * p0 + p1) / (1 - q1 / q0) if np.isclose(p, p1, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0, q0 = p1, q1 p1 = p q1 = func(p1, *args) funcalls += 1 if disp: msg = ("Failed to converge after %d iterations, value is %s." % (itr + 1, p)) > raise RuntimeError(msg) E RuntimeError: Failed to converge after 50 iterations, value is nan. /usr/lib/python3/dist-packages/scipy/optimize/_zeros_py.py:391: RuntimeError __________________ ERROR at setup of test_plot_calls_plt_plot __________________ @pytest.fixture() def dummy_data(): mass = 1 * u.kg fov = 30 * u.km > shadow = Shadow(mass=mass, fov=fov, n_rays=1000) tests/test_plotting/test_rays/test_shadow.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/astropy/units/decorators.py:316: in wrapper return_ = wrapped_function(*func_args, **func_kwargs) einsteinpy/rays/shadow.py:29: in __init__ root = newton(self._root_equation, 0.1, args=(i,)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ func = > x0 = np.float64(0.1), fprime = None, args = (np.float64(5.196152422706632),) tol = 1.48e-08, maxiter = 50, fprime2 = None, x1 = None, rtol = 0.0 full_output = False, disp = True def newton(func, x0, fprime=None, args=(), tol=1.48e-8, maxiter=50, fprime2=None, x1=None, rtol=0.0, full_output=False, disp=True): """ Find a root of a real or complex function using the Newton-Raphson (or secant or Halley's) method. Find a root of the scalar-valued function `func` given a nearby scalar starting point `x0`. The Newton-Raphson method is used if the derivative `fprime` of `func` is provided, otherwise the secant method is used. If the second order derivative `fprime2` of `func` is also provided, then Halley's method is used. If `x0` is a sequence with more than one item, `newton` returns an array: the roots of the function from each (scalar) starting point in `x0`. In this case, `func` must be vectorized to return a sequence or array of the same shape as its first argument. If `fprime` (`fprime2`) is given, then its return must also have the same shape: each element is the first (second) derivative of `func` with respect to its only variable evaluated at each element of its first argument. `newton` is for finding roots of a scalar-valued functions of a single variable. For problems involving several variables, see `root`. Parameters ---------- func : callable The function whose root is wanted. It must be a function of a single variable of the form ``f(x,a,b,c...)``, where ``a,b,c...`` are extra arguments that can be passed in the `args` parameter. x0 : float, sequence, or ndarray An initial estimate of the root that should be somewhere near the actual root. If not scalar, then `func` must be vectorized and return a sequence or array of the same shape as its first argument. fprime : callable, optional The derivative of the function when available and convenient. If it is None (default), then the secant method is used. args : tuple, optional Extra arguments to be used in the function call. tol : float, optional The allowable error of the root's value. If `func` is complex-valued, a larger `tol` is recommended as both the real and imaginary parts of `x` contribute to ``|x - x0|``. maxiter : int, optional Maximum number of iterations. fprime2 : callable, optional The second order derivative of the function when available and convenient. If it is None (default), then the normal Newton-Raphson or the secant method is used. If it is not None, then Halley's method is used. x1 : float, optional Another estimate of the root that should be somewhere near the actual root. Used if `fprime` is not provided. rtol : float, optional Tolerance (relative) for termination. full_output : bool, optional If `full_output` is False (default), the root is returned. If True and `x0` is scalar, the return value is ``(x, r)``, where ``x`` is the root and ``r`` is a `RootResults` object. If True and `x0` is non-scalar, the return value is ``(x, converged, zero_der)`` (see Returns section for details). disp : bool, optional If True, raise a RuntimeError if the algorithm didn't converge, with the error message containing the number of iterations and current function value. Otherwise, the convergence status is recorded in a `RootResults` return object. Ignored if `x0` is not scalar. *Note: this has little to do with displaying, however, the `disp` keyword cannot be renamed for backwards compatibility.* Returns ------- root : float, sequence, or ndarray Estimated location where function is zero. r : `RootResults`, optional Present if ``full_output=True`` and `x0` is scalar. Object containing information about the convergence. In particular, ``r.converged`` is True if the routine converged. converged : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements converged successfully. zero_der : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements had a zero derivative. See Also -------- root_scalar : interface to root solvers for scalar functions root : interface to root solvers for multi-input, multi-output functions Notes ----- The convergence rate of the Newton-Raphson method is quadratic, the Halley method is cubic, and the secant method is sub-quadratic. This means that if the function is well-behaved the actual error in the estimated root after the nth iteration is approximately the square (cube for Halley) of the error after the (n-1)th step. However, the stopping criterion used here is the step size and there is no guarantee that a root has been found. Consequently, the result should be verified. Safer algorithms are brentq, brenth, ridder, and bisect, but they all require that the root first be bracketed in an interval where the function changes sign. The brentq algorithm is recommended for general use in one dimensional problems when such an interval has been found. When `newton` is used with arrays, it is best suited for the following types of problems: * The initial guesses, `x0`, are all relatively the same distance from the roots. * Some or all of the extra arguments, `args`, are also arrays so that a class of similar problems can be solved together. * The size of the initial guesses, `x0`, is larger than O(100) elements. Otherwise, a naive loop may perform as well or better than a vector. Examples -------- >>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import optimize >>> def f(x): ... return (x**3 - 1) # only one real root at x = 1 ``fprime`` is not provided, use the secant method: >>> root = optimize.newton(f, 1.5) >>> root 1.0000000000000016 >>> root = optimize.newton(f, 1.5, fprime2=lambda x: 6 * x) >>> root 1.0000000000000016 Only ``fprime`` is provided, use the Newton-Raphson method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2) >>> root 1.0 Both ``fprime2`` and ``fprime`` are provided, use Halley's method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2, ... fprime2=lambda x: 6 * x) >>> root 1.0 When we want to find roots for a set of related starting values and/or function parameters, we can provide both of those as an array of inputs: >>> f = lambda x, a: x**3 - a >>> fder = lambda x, a: 3 * x**2 >>> rng = np.random.default_rng() >>> x = rng.standard_normal(100) >>> a = np.arange(-50, 50) >>> vec_res = optimize.newton(f, x, fprime=fder, args=(a, ), maxiter=200) The above is the equivalent of solving for each value in ``(x, a)`` separately in a for-loop, just faster: >>> loop_res = [optimize.newton(f, x0, fprime=fder, args=(a0,), ... maxiter=200) ... for x0, a0 in zip(x, a)] >>> np.allclose(vec_res, loop_res) True Plot the results found for all values of ``a``: >>> analytical_result = np.sign(a) * np.abs(a)**(1/3) >>> fig, ax = plt.subplots() >>> ax.plot(a, analytical_result, 'o') >>> ax.plot(a, vec_res, '.') >>> ax.set_xlabel('$a$') >>> ax.set_ylabel('$x$ where $f(x, a)=0$') >>> plt.show() """ if tol <= 0: raise ValueError("tol too small (%g <= 0)" % tol) maxiter = operator.index(maxiter) if maxiter < 1: raise ValueError("maxiter must be greater than 0") if np.size(x0) > 1: return _array_newton(func, x0, fprime, args, tol, maxiter, fprime2, full_output) # Convert to float (don't use float(x0); this works also for complex x0) # Use np.asarray because we want x0 to be a numpy object, not a Python # object. e.g. np.complex(1+1j) > 0 is possible, but (1 + 1j) > 0 raises # a TypeError x0 = np.asarray(x0)[()] * 1.0 p0 = x0 funcalls = 0 if fprime is not None: # Newton-Raphson method method = "newton" for itr in range(maxiter): # first evaluate fval fval = func(p0, *args) funcalls += 1 # If fval is 0, a root has been found, then terminate if fval == 0: return _results_select( full_output, (p0, funcalls, itr, _ECONVERGED), method) fder = fprime(p0, *args) funcalls += 1 if fder == 0: msg = "Derivative was zero." if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p0)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) return _results_select( full_output, (p0, funcalls, itr + 1, _ECONVERR), method) newton_step = fval / fder if fprime2: fder2 = fprime2(p0, *args) funcalls += 1 method = "halley" # Halley's method: # newton_step /= (1.0 - 0.5 * newton_step * fder2 / fder) # Only do it if denominator stays close enough to 1 # Rationale: If 1-adj < 0, then Halley sends x in the # opposite direction to Newton. Doesn't happen if x is close # enough to root. adj = newton_step * fder2 / fder / 2 if np.abs(adj) < 1: newton_step /= 1.0 - adj p = p0 - newton_step if np.isclose(p, p0, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0 = p else: # Secant method method = "secant" if x1 is not None: if x1 == x0: raise ValueError("x1 and x0 must be different") p1 = x1 else: eps = 1e-4 p1 = x0 * (1 + eps) p1 += (eps if p1 >= 0 else -eps) q0 = func(p0, *args) funcalls += 1 q1 = func(p1, *args) funcalls += 1 if abs(q1) < abs(q0): p0, p1, q0, q1 = p1, p0, q1, q0 for itr in range(maxiter): if q1 == q0: if p1 != p0: msg = "Tolerance of %s reached." % (p1 - p0) if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p1)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) p = (p1 + p0) / 2.0 return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERR), method) else: if abs(q1) > abs(q0): p = (-q0 / q1 * p1 + p0) / (1 - q0 / q1) else: p = (-q1 / q0 * p0 + p1) / (1 - q1 / q0) if np.isclose(p, p1, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0, q0 = p1, q1 p1 = p q1 = func(p1, *args) funcalls += 1 if disp: msg = ("Failed to converge after %d iterations, value is %s." % (itr + 1, p)) > raise RuntimeError(msg) E RuntimeError: Failed to converge after 50 iterations, value is nan. /usr/lib/python3/dist-packages/scipy/optimize/_zeros_py.py:391: RuntimeError =============================== warnings summary =============================== einsteinpy/ijit.py:30 .pybuild/cpython3_3.12_einsteinpy/build/tests/test_ijit/test_ijit_without_numba.py::test_decorator /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build/einsteinpy/ijit.py:30: UserWarning: Could not import numba package. All einsteinpy functions will work properly but the CPU intensive algorithms will be slow. Consider installing numba to boost performance. .pybuild/cpython3_3.12_einsteinpy/build/tests/test_symbolic/test_christoffel.py::test_properties /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but .pybuild/cpython3_3.12_einsteinpy/build/tests/test_symbolic/test_christoffel.py::test_properties returned True, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? .pybuild/cpython3_3.12_einsteinpy/build/tests/test_symbolic/test_schouten.py::test_SchoutenTensor_with_arbritary_config /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but .pybuild/cpython3_3.12_einsteinpy/build/tests/test_symbolic/test_schouten.py::test_SchoutenTensor_with_arbritary_config returned True, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ ERROR tests/test_plotting/test_rays/test_shadow.py::test_plotter_has_correct_attributes ERROR tests/test_plotting/test_rays/test_shadow.py::test_plot_calls_plt_plot ====== 285 passed, 9 xfailed, 4 warnings, 2 errors in 1807.68s (0:30:07) ======= E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.12_einsteinpy/build; python3.12 -m pytest tests I: pybuild base:311: cd /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build; python3.13 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 rootdir: /build/reproducible-path/einsteinpy-0.4.0 configfile: setup.cfg plugins: arraydiff-0.6.1, hypothesis-6.125.2, cov-5.0.0, mock-3.14.0, filter-subpackage-0.2.0, astropy-0.11.0, remotedata-0.4.1, doctestplus-1.4.0, typeguard-4.4.1, astropy-header-0.2.2 collected 296 items tests/test_bodies.py ......................... [ 8%] tests/test_constant.py ... [ 9%] tests/test_coordinates/test_conversions.py .......... [ 12%] tests/test_coordinates/test_coord_transform.py ................ [ 18%] tests/test_coordinates/test_diff_transform.py ................. [ 23%] tests/test_coordinates/test_utils.py .... [ 25%] tests/test_examples.py . [ 25%] tests/test_geodesic/test_geodesic.py ......... [ 28%] tests/test_geodesic/test_geodesic_utils.py ...... [ 30%] tests/test_hypersurface/test_schwarzschildembedding.py .... [ 32%] tests/test_ijit/test_ijit_without_numba.py .. [ 32%] tests/test_integrators/test_geod_int.py ............ [ 36%] tests/test_integrators/test_runge_kutta.py . [ 37%] tests/test_metric/test_base_metric.py ............... [ 42%] tests/test_metric/test_kerr.py ... [ 43%] tests/test_metric/test_kerrnewman.py ........ [ 45%] tests/test_metric/test_schwarzschild.py . [ 46%] tests/test_plotting/test_fractal.py .. [ 46%] tests/test_plotting/test_geodesic/test_interactive.py ........ [ 49%] tests/test_plotting/test_geodesic/test_static.py ............ [ 53%] tests/test_plotting/test_hypersurface.py .. [ 54%] tests/test_plotting/test_rays/test_shadow.py EE [ 55%] tests/test_symbolic/test_christoffel.py ...... [ 57%] tests/test_symbolic/test_constants.py .. [ 57%] tests/test_symbolic/test_einstein.py ..... [ 59%] tests/test_symbolic/test_helpers.py .x....... [ 62%] tests/test_symbolic/test_metric.py ....... [ 64%] tests/test_symbolic/test_predefined/test_all.py ........................ [ 72%] . [ 73%] tests/test_symbolic/test_predefined/test_find.py .. [ 73%] tests/test_symbolic/test_ricci.py ....... [ 76%] tests/test_symbolic/test_riemann.py .... [ 77%] tests/test_symbolic/test_schouten.py .... [ 79%] tests/test_symbolic/test_stress_energy_momentum.py ... [ 80%] tests/test_symbolic/test_tensor.py .........xxxxxx...x..... [ 88%] tests/test_symbolic/test_vector.py .x.. [ 89%] tests/test_symbolic/test_weyl.py ...... [ 91%] tests/test_units.py . [ 91%] tests/test_utils/test_dual.py ................... [ 98%] tests/test_utils/test_exceptions.py . [ 98%] tests/test_utils/test_scalar_factor.py .... [100%] ==================================== ERRORS ==================================== ____________ ERROR at setup of test_plotter_has_correct_attributes _____________ @pytest.fixture() def dummy_data(): mass = 1 * u.kg fov = 30 * u.km > shadow = Shadow(mass=mass, fov=fov, n_rays=1000) tests/test_plotting/test_rays/test_shadow.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/astropy/units/decorators.py:316: in wrapper return_ = wrapped_function(*func_args, **func_kwargs) einsteinpy/rays/shadow.py:29: in __init__ root = newton(self._root_equation, 0.1, args=(i,)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ func = > x0 = np.float64(0.1), fprime = None, args = (np.float64(5.196152422706632),) tol = 1.48e-08, maxiter = 50, fprime2 = None, x1 = None, rtol = 0.0 full_output = False, disp = True def newton(func, x0, fprime=None, args=(), tol=1.48e-8, maxiter=50, fprime2=None, x1=None, rtol=0.0, full_output=False, disp=True): """ Find a root of a real or complex function using the Newton-Raphson (or secant or Halley's) method. Find a root of the scalar-valued function `func` given a nearby scalar starting point `x0`. The Newton-Raphson method is used if the derivative `fprime` of `func` is provided, otherwise the secant method is used. If the second order derivative `fprime2` of `func` is also provided, then Halley's method is used. If `x0` is a sequence with more than one item, `newton` returns an array: the roots of the function from each (scalar) starting point in `x0`. In this case, `func` must be vectorized to return a sequence or array of the same shape as its first argument. If `fprime` (`fprime2`) is given, then its return must also have the same shape: each element is the first (second) derivative of `func` with respect to its only variable evaluated at each element of its first argument. `newton` is for finding roots of a scalar-valued functions of a single variable. For problems involving several variables, see `root`. Parameters ---------- func : callable The function whose root is wanted. It must be a function of a single variable of the form ``f(x,a,b,c...)``, where ``a,b,c...`` are extra arguments that can be passed in the `args` parameter. x0 : float, sequence, or ndarray An initial estimate of the root that should be somewhere near the actual root. If not scalar, then `func` must be vectorized and return a sequence or array of the same shape as its first argument. fprime : callable, optional The derivative of the function when available and convenient. If it is None (default), then the secant method is used. args : tuple, optional Extra arguments to be used in the function call. tol : float, optional The allowable error of the root's value. If `func` is complex-valued, a larger `tol` is recommended as both the real and imaginary parts of `x` contribute to ``|x - x0|``. maxiter : int, optional Maximum number of iterations. fprime2 : callable, optional The second order derivative of the function when available and convenient. If it is None (default), then the normal Newton-Raphson or the secant method is used. If it is not None, then Halley's method is used. x1 : float, optional Another estimate of the root that should be somewhere near the actual root. Used if `fprime` is not provided. rtol : float, optional Tolerance (relative) for termination. full_output : bool, optional If `full_output` is False (default), the root is returned. If True and `x0` is scalar, the return value is ``(x, r)``, where ``x`` is the root and ``r`` is a `RootResults` object. If True and `x0` is non-scalar, the return value is ``(x, converged, zero_der)`` (see Returns section for details). disp : bool, optional If True, raise a RuntimeError if the algorithm didn't converge, with the error message containing the number of iterations and current function value. Otherwise, the convergence status is recorded in a `RootResults` return object. Ignored if `x0` is not scalar. *Note: this has little to do with displaying, however, the `disp` keyword cannot be renamed for backwards compatibility.* Returns ------- root : float, sequence, or ndarray Estimated location where function is zero. r : `RootResults`, optional Present if ``full_output=True`` and `x0` is scalar. Object containing information about the convergence. In particular, ``r.converged`` is True if the routine converged. converged : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements converged successfully. zero_der : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements had a zero derivative. See Also -------- root_scalar : interface to root solvers for scalar functions root : interface to root solvers for multi-input, multi-output functions Notes ----- The convergence rate of the Newton-Raphson method is quadratic, the Halley method is cubic, and the secant method is sub-quadratic. This means that if the function is well-behaved the actual error in the estimated root after the nth iteration is approximately the square (cube for Halley) of the error after the (n-1)th step. However, the stopping criterion used here is the step size and there is no guarantee that a root has been found. Consequently, the result should be verified. Safer algorithms are brentq, brenth, ridder, and bisect, but they all require that the root first be bracketed in an interval where the function changes sign. The brentq algorithm is recommended for general use in one dimensional problems when such an interval has been found. When `newton` is used with arrays, it is best suited for the following types of problems: * The initial guesses, `x0`, are all relatively the same distance from the roots. * Some or all of the extra arguments, `args`, are also arrays so that a class of similar problems can be solved together. * The size of the initial guesses, `x0`, is larger than O(100) elements. Otherwise, a naive loop may perform as well or better than a vector. Examples -------- >>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import optimize >>> def f(x): ... return (x**3 - 1) # only one real root at x = 1 ``fprime`` is not provided, use the secant method: >>> root = optimize.newton(f, 1.5) >>> root 1.0000000000000016 >>> root = optimize.newton(f, 1.5, fprime2=lambda x: 6 * x) >>> root 1.0000000000000016 Only ``fprime`` is provided, use the Newton-Raphson method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2) >>> root 1.0 Both ``fprime2`` and ``fprime`` are provided, use Halley's method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2, ... fprime2=lambda x: 6 * x) >>> root 1.0 When we want to find roots for a set of related starting values and/or function parameters, we can provide both of those as an array of inputs: >>> f = lambda x, a: x**3 - a >>> fder = lambda x, a: 3 * x**2 >>> rng = np.random.default_rng() >>> x = rng.standard_normal(100) >>> a = np.arange(-50, 50) >>> vec_res = optimize.newton(f, x, fprime=fder, args=(a, ), maxiter=200) The above is the equivalent of solving for each value in ``(x, a)`` separately in a for-loop, just faster: >>> loop_res = [optimize.newton(f, x0, fprime=fder, args=(a0,), ... maxiter=200) ... for x0, a0 in zip(x, a)] >>> np.allclose(vec_res, loop_res) True Plot the results found for all values of ``a``: >>> analytical_result = np.sign(a) * np.abs(a)**(1/3) >>> fig, ax = plt.subplots() >>> ax.plot(a, analytical_result, 'o') >>> ax.plot(a, vec_res, '.') >>> ax.set_xlabel('$a$') >>> ax.set_ylabel('$x$ where $f(x, a)=0$') >>> plt.show() """ if tol <= 0: raise ValueError("tol too small (%g <= 0)" % tol) maxiter = operator.index(maxiter) if maxiter < 1: raise ValueError("maxiter must be greater than 0") if np.size(x0) > 1: return _array_newton(func, x0, fprime, args, tol, maxiter, fprime2, full_output) # Convert to float (don't use float(x0); this works also for complex x0) # Use np.asarray because we want x0 to be a numpy object, not a Python # object. e.g. np.complex(1+1j) > 0 is possible, but (1 + 1j) > 0 raises # a TypeError x0 = np.asarray(x0)[()] * 1.0 p0 = x0 funcalls = 0 if fprime is not None: # Newton-Raphson method method = "newton" for itr in range(maxiter): # first evaluate fval fval = func(p0, *args) funcalls += 1 # If fval is 0, a root has been found, then terminate if fval == 0: return _results_select( full_output, (p0, funcalls, itr, _ECONVERGED), method) fder = fprime(p0, *args) funcalls += 1 if fder == 0: msg = "Derivative was zero." if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p0)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) return _results_select( full_output, (p0, funcalls, itr + 1, _ECONVERR), method) newton_step = fval / fder if fprime2: fder2 = fprime2(p0, *args) funcalls += 1 method = "halley" # Halley's method: # newton_step /= (1.0 - 0.5 * newton_step * fder2 / fder) # Only do it if denominator stays close enough to 1 # Rationale: If 1-adj < 0, then Halley sends x in the # opposite direction to Newton. Doesn't happen if x is close # enough to root. adj = newton_step * fder2 / fder / 2 if np.abs(adj) < 1: newton_step /= 1.0 - adj p = p0 - newton_step if np.isclose(p, p0, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0 = p else: # Secant method method = "secant" if x1 is not None: if x1 == x0: raise ValueError("x1 and x0 must be different") p1 = x1 else: eps = 1e-4 p1 = x0 * (1 + eps) p1 += (eps if p1 >= 0 else -eps) q0 = func(p0, *args) funcalls += 1 q1 = func(p1, *args) funcalls += 1 if abs(q1) < abs(q0): p0, p1, q0, q1 = p1, p0, q1, q0 for itr in range(maxiter): if q1 == q0: if p1 != p0: msg = "Tolerance of %s reached." % (p1 - p0) if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p1)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) p = (p1 + p0) / 2.0 return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERR), method) else: if abs(q1) > abs(q0): p = (-q0 / q1 * p1 + p0) / (1 - q0 / q1) else: p = (-q1 / q0 * p0 + p1) / (1 - q1 / q0) if np.isclose(p, p1, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0, q0 = p1, q1 p1 = p q1 = func(p1, *args) funcalls += 1 if disp: msg = ("Failed to converge after %d iterations, value is %s." % (itr + 1, p)) > raise RuntimeError(msg) E RuntimeError: Failed to converge after 50 iterations, value is nan. /usr/lib/python3/dist-packages/scipy/optimize/_zeros_py.py:391: RuntimeError __________________ ERROR at setup of test_plot_calls_plt_plot __________________ @pytest.fixture() def dummy_data(): mass = 1 * u.kg fov = 30 * u.km > shadow = Shadow(mass=mass, fov=fov, n_rays=1000) tests/test_plotting/test_rays/test_shadow.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/astropy/units/decorators.py:316: in wrapper return_ = wrapped_function(*func_args, **func_kwargs) einsteinpy/rays/shadow.py:29: in __init__ root = newton(self._root_equation, 0.1, args=(i,)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ func = > x0 = np.float64(0.1), fprime = None, args = (np.float64(5.196152422706632),) tol = 1.48e-08, maxiter = 50, fprime2 = None, x1 = None, rtol = 0.0 full_output = False, disp = True def newton(func, x0, fprime=None, args=(), tol=1.48e-8, maxiter=50, fprime2=None, x1=None, rtol=0.0, full_output=False, disp=True): """ Find a root of a real or complex function using the Newton-Raphson (or secant or Halley's) method. Find a root of the scalar-valued function `func` given a nearby scalar starting point `x0`. The Newton-Raphson method is used if the derivative `fprime` of `func` is provided, otherwise the secant method is used. If the second order derivative `fprime2` of `func` is also provided, then Halley's method is used. If `x0` is a sequence with more than one item, `newton` returns an array: the roots of the function from each (scalar) starting point in `x0`. In this case, `func` must be vectorized to return a sequence or array of the same shape as its first argument. If `fprime` (`fprime2`) is given, then its return must also have the same shape: each element is the first (second) derivative of `func` with respect to its only variable evaluated at each element of its first argument. `newton` is for finding roots of a scalar-valued functions of a single variable. For problems involving several variables, see `root`. Parameters ---------- func : callable The function whose root is wanted. It must be a function of a single variable of the form ``f(x,a,b,c...)``, where ``a,b,c...`` are extra arguments that can be passed in the `args` parameter. x0 : float, sequence, or ndarray An initial estimate of the root that should be somewhere near the actual root. If not scalar, then `func` must be vectorized and return a sequence or array of the same shape as its first argument. fprime : callable, optional The derivative of the function when available and convenient. If it is None (default), then the secant method is used. args : tuple, optional Extra arguments to be used in the function call. tol : float, optional The allowable error of the root's value. If `func` is complex-valued, a larger `tol` is recommended as both the real and imaginary parts of `x` contribute to ``|x - x0|``. maxiter : int, optional Maximum number of iterations. fprime2 : callable, optional The second order derivative of the function when available and convenient. If it is None (default), then the normal Newton-Raphson or the secant method is used. If it is not None, then Halley's method is used. x1 : float, optional Another estimate of the root that should be somewhere near the actual root. Used if `fprime` is not provided. rtol : float, optional Tolerance (relative) for termination. full_output : bool, optional If `full_output` is False (default), the root is returned. If True and `x0` is scalar, the return value is ``(x, r)``, where ``x`` is the root and ``r`` is a `RootResults` object. If True and `x0` is non-scalar, the return value is ``(x, converged, zero_der)`` (see Returns section for details). disp : bool, optional If True, raise a RuntimeError if the algorithm didn't converge, with the error message containing the number of iterations and current function value. Otherwise, the convergence status is recorded in a `RootResults` return object. Ignored if `x0` is not scalar. *Note: this has little to do with displaying, however, the `disp` keyword cannot be renamed for backwards compatibility.* Returns ------- root : float, sequence, or ndarray Estimated location where function is zero. r : `RootResults`, optional Present if ``full_output=True`` and `x0` is scalar. Object containing information about the convergence. In particular, ``r.converged`` is True if the routine converged. converged : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements converged successfully. zero_der : ndarray of bool, optional Present if ``full_output=True`` and `x0` is non-scalar. For vector functions, indicates which elements had a zero derivative. See Also -------- root_scalar : interface to root solvers for scalar functions root : interface to root solvers for multi-input, multi-output functions Notes ----- The convergence rate of the Newton-Raphson method is quadratic, the Halley method is cubic, and the secant method is sub-quadratic. This means that if the function is well-behaved the actual error in the estimated root after the nth iteration is approximately the square (cube for Halley) of the error after the (n-1)th step. However, the stopping criterion used here is the step size and there is no guarantee that a root has been found. Consequently, the result should be verified. Safer algorithms are brentq, brenth, ridder, and bisect, but they all require that the root first be bracketed in an interval where the function changes sign. The brentq algorithm is recommended for general use in one dimensional problems when such an interval has been found. When `newton` is used with arrays, it is best suited for the following types of problems: * The initial guesses, `x0`, are all relatively the same distance from the roots. * Some or all of the extra arguments, `args`, are also arrays so that a class of similar problems can be solved together. * The size of the initial guesses, `x0`, is larger than O(100) elements. Otherwise, a naive loop may perform as well or better than a vector. Examples -------- >>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import optimize >>> def f(x): ... return (x**3 - 1) # only one real root at x = 1 ``fprime`` is not provided, use the secant method: >>> root = optimize.newton(f, 1.5) >>> root 1.0000000000000016 >>> root = optimize.newton(f, 1.5, fprime2=lambda x: 6 * x) >>> root 1.0000000000000016 Only ``fprime`` is provided, use the Newton-Raphson method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2) >>> root 1.0 Both ``fprime2`` and ``fprime`` are provided, use Halley's method: >>> root = optimize.newton(f, 1.5, fprime=lambda x: 3 * x**2, ... fprime2=lambda x: 6 * x) >>> root 1.0 When we want to find roots for a set of related starting values and/or function parameters, we can provide both of those as an array of inputs: >>> f = lambda x, a: x**3 - a >>> fder = lambda x, a: 3 * x**2 >>> rng = np.random.default_rng() >>> x = rng.standard_normal(100) >>> a = np.arange(-50, 50) >>> vec_res = optimize.newton(f, x, fprime=fder, args=(a, ), maxiter=200) The above is the equivalent of solving for each value in ``(x, a)`` separately in a for-loop, just faster: >>> loop_res = [optimize.newton(f, x0, fprime=fder, args=(a0,), ... maxiter=200) ... for x0, a0 in zip(x, a)] >>> np.allclose(vec_res, loop_res) True Plot the results found for all values of ``a``: >>> analytical_result = np.sign(a) * np.abs(a)**(1/3) >>> fig, ax = plt.subplots() >>> ax.plot(a, analytical_result, 'o') >>> ax.plot(a, vec_res, '.') >>> ax.set_xlabel('$a$') >>> ax.set_ylabel('$x$ where $f(x, a)=0$') >>> plt.show() """ if tol <= 0: raise ValueError("tol too small (%g <= 0)" % tol) maxiter = operator.index(maxiter) if maxiter < 1: raise ValueError("maxiter must be greater than 0") if np.size(x0) > 1: return _array_newton(func, x0, fprime, args, tol, maxiter, fprime2, full_output) # Convert to float (don't use float(x0); this works also for complex x0) # Use np.asarray because we want x0 to be a numpy object, not a Python # object. e.g. np.complex(1+1j) > 0 is possible, but (1 + 1j) > 0 raises # a TypeError x0 = np.asarray(x0)[()] * 1.0 p0 = x0 funcalls = 0 if fprime is not None: # Newton-Raphson method method = "newton" for itr in range(maxiter): # first evaluate fval fval = func(p0, *args) funcalls += 1 # If fval is 0, a root has been found, then terminate if fval == 0: return _results_select( full_output, (p0, funcalls, itr, _ECONVERGED), method) fder = fprime(p0, *args) funcalls += 1 if fder == 0: msg = "Derivative was zero." if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p0)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) return _results_select( full_output, (p0, funcalls, itr + 1, _ECONVERR), method) newton_step = fval / fder if fprime2: fder2 = fprime2(p0, *args) funcalls += 1 method = "halley" # Halley's method: # newton_step /= (1.0 - 0.5 * newton_step * fder2 / fder) # Only do it if denominator stays close enough to 1 # Rationale: If 1-adj < 0, then Halley sends x in the # opposite direction to Newton. Doesn't happen if x is close # enough to root. adj = newton_step * fder2 / fder / 2 if np.abs(adj) < 1: newton_step /= 1.0 - adj p = p0 - newton_step if np.isclose(p, p0, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0 = p else: # Secant method method = "secant" if x1 is not None: if x1 == x0: raise ValueError("x1 and x0 must be different") p1 = x1 else: eps = 1e-4 p1 = x0 * (1 + eps) p1 += (eps if p1 >= 0 else -eps) q0 = func(p0, *args) funcalls += 1 q1 = func(p1, *args) funcalls += 1 if abs(q1) < abs(q0): p0, p1, q0, q1 = p1, p0, q1, q0 for itr in range(maxiter): if q1 == q0: if p1 != p0: msg = "Tolerance of %s reached." % (p1 - p0) if disp: msg += ( " Failed to converge after %d iterations, value is %s." % (itr + 1, p1)) raise RuntimeError(msg) warnings.warn(msg, RuntimeWarning, stacklevel=2) p = (p1 + p0) / 2.0 return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERR), method) else: if abs(q1) > abs(q0): p = (-q0 / q1 * p1 + p0) / (1 - q0 / q1) else: p = (-q1 / q0 * p0 + p1) / (1 - q1 / q0) if np.isclose(p, p1, rtol=rtol, atol=tol): return _results_select( full_output, (p, funcalls, itr + 1, _ECONVERGED), method) p0, q0 = p1, q1 p1 = p q1 = func(p1, *args) funcalls += 1 if disp: msg = ("Failed to converge after %d iterations, value is %s." % (itr + 1, p)) > raise RuntimeError(msg) E RuntimeError: Failed to converge after 50 iterations, value is nan. /usr/lib/python3/dist-packages/scipy/optimize/_zeros_py.py:391: RuntimeError =============================== warnings summary =============================== einsteinpy/ijit.py:30 .pybuild/cpython3_3.13_einsteinpy/build/tests/test_ijit/test_ijit_without_numba.py::test_decorator /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build/einsteinpy/ijit.py:30: UserWarning: Could not import numba package. All einsteinpy functions will work properly but the CPU intensive algorithms will be slow. Consider installing numba to boost performance. .pybuild/cpython3_3.13_einsteinpy/build/tests/test_symbolic/test_christoffel.py::test_properties /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but .pybuild/cpython3_3.13_einsteinpy/build/tests/test_symbolic/test_christoffel.py::test_properties returned True, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? .pybuild/cpython3_3.13_einsteinpy/build/tests/test_symbolic/test_schouten.py::test_SchoutenTensor_with_arbritary_config /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but .pybuild/cpython3_3.13_einsteinpy/build/tests/test_symbolic/test_schouten.py::test_SchoutenTensor_with_arbritary_config returned True, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ ERROR tests/test_plotting/test_rays/test_shadow.py::test_plotter_has_correct_attributes ERROR tests/test_plotting/test_rays/test_shadow.py::test_plot_calls_plt_plot ====== 285 passed, 9 xfailed, 4 warnings, 2 errors in 1343.04s (0:22:23) ======= E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/einsteinpy-0.4.0/.pybuild/cpython3_3.13_einsteinpy/build; python3.13 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.13" returned exit code 13 make: *** [debian/rules:6: 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/30296 and its subdirectories